반응형
문제
풀이
function solution(t, p) {
let answer = 0;
for(let i = 0; i < t.length - p.length + 1; i++) {
const tNum = t.slice(i, i + p.length);
if(+tNum <= +p) answer++;
}
return answer;
}
예제 1에서는 314, 141, 415, 159, 592 와 같이 순서대로 문자열을 뽑아와야 한다.
끝에서 - p.length 까지 가져와야 하므로, for 반복문 내에 조건은 i = 0; t.length - p.length + 1; i++이 된다.
그리고 314, 141, 415, … 와 같은 숫자를 만든다. 그 숫자는 t 문자열에서 i 부터 i + p.length - 1 까지 자른 문자열이 된다. 그래서 t.slice(i, i + p.length) 가 된다.
그렇게 만든 tNum과 p를 비교하고, p가 같거나 크면 answer를 더한다.
반복문을 끝내면 answer 를 반환한다.
다른 풀이에서도 동일하게 풀었더라.
반응형
'CS > 알고리즘' 카테고리의 다른 글
[230414] N개의 최소공배수 (0) | 2023.04.14 |
---|---|
[230414] 예상 대진표 (0) | 2023.04.14 |
[230412] 카펫 (0) | 2023.04.12 |
[230411] 피보나치 수 (0) | 2023.04.11 |
[230327] 구명보트: Greedy 알고리즘 (0) | 2023.03.27 |