개발/코딩테스트

[프로그래머스 | JavaScript] 크기가 작은 부분 문자열

prpn97 2023. 5. 18. 18:19

 

<문제 풀이>

function solution(t, p) {
    let numArr = [];
    let count = 0
    for(let i = 0; i < t.length; i++){
        let num = t.slice(i,i+p.length)
        if(num.length===p.length)
       numArr.push(num)
    }
    let arr = numArr.map(Number)
    arr.forEach((a)=>{
        if(a <= p)
        count++
        }
    )
    return count
}

문자열 t 안에서 p의 길이와 같은 부분문자열을 전부 찾고,

그 중 p보다 작거나 같은 값의 개수를 구하는 문제다.

num이라는 변수에 0부터 시작하는 i번째 인덱스부터 p의 개수만큼을 slice했다.

예시처럼 3141592 , 271 이 있다고 하면 num이 될 수 있는 수는 314 141 415 159 592가

될테고, 추가적으로 92, 2가 같이 반환된다. num은 i부터 시작되는 수가 전부 반환된 것인데,

i가 t의 맨끝까지 검사하기 때문에 num값들 중 갯수가 p와 맞을 경우 numArr에 넣어주었다.

 

그리고 numArr을 돌며 담겨진 수들 중 p보다 작거나 같으면 카운트했다.

 

 

 

 

728x90