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에서 비교연산자를 사용했다는것.
이 문제가 레벨이 높았고 이부분에서 함정이 있었다면 어땠을까...
음....
'개발이야기 > 알고리즘' 카테고리의 다른 글
[알고리즘] 카드 뭉치 (0) | 2023.03.27 |
---|---|
[알고리즘] 둘만의 암호 (0) | 2023.03.26 |
[알고리즘] 기사단원의 무기 (0) | 2023.03.24 |
[알고리즘] 가장 가까운 같은 글자 (0) | 2023.03.24 |
[알고리즘] 명예의 전당 (1) (0) | 2023.03.23 |