본문 바로가기
개발이야기/알고리즘

[알고리즘] 크기가 작은 부분문자열

by KimHarry 2023. 3. 26.

1. 조건

문자열 t와 p가 있다.

 

1 ≤ p의 길이 ≤ 18

p의 길이 ≤ t의 길이 ≤ 10,000

t와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않는다.

 

 

2. 풀이과정

p의 길이만큼 t의 부분 문자열을 순회한다.

순회하면서 t의 부분 문자열이 p보다 작거나 같을 때

answer를 1씩 더한다.

 

3. 풀이

function solution(t, p) {
  let answer = 0;
  const totalSize = t.length;
  const sliceSize = p.length;

  for (let i = 0; i <= totalSize - sliceSize; i += 1) {
    if (t.slice(i, i + sliceSize) <= p) {
      answer += 1;
      continue;
    }
  }

  return answer;
}

 

4. 추가

여기서 약간 간과한 사실이 있다면

바로 string에서 비교연산자를 사용했다는것.

이 문제가 레벨이 높았고 이부분에서 함정이 있었다면 어땠을까...

음....