250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

devlog_owen

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

algorithm/(js)프로그래머스

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

developer_owen 2023. 11. 6. 02:32
728x90

문제

 


 

 

나의 풀이

function solution(t, p) {
    const sliceString = t.length;
    const sliceNumber = p.length;
    let count = 0;

    for (let i = 0; i <= sliceString - sliceNumber; i++) {
        const subString = t.slice(i, i + sliceNumber);
        const subStringNumber = parseInt(subString);

        if (subStringNumber <= parseInt(p)) {
            count++;
        }
    }

    return count;
}

본문1

1.  t,p 숫자 문자열의 길이를 저장

    const sliceString = t.length;
    const sliceNumber = p.length;


2.결과를 저장할 변수 count를 초기값을 0으로 설정
 let count = 0;


3. 루프 변수 i는 0부터 sliceString - sliceNumber 까지 반복해서 변함.

sliceString - sliceNumber : p의 길이만큼 문자열을 추출해야되기 때문

 for (let i = 0; i <= sliceString - sliceNumber; i++) {

 

4. t 문자열에서 길이가 p와 같은 부분 문자열을 추출하고 subString 변수에 저장
 const subString = t.slice(i, i + sliceNumber);

i + sliceNumber: 끝 인덱스를 구하려면 p문자열 길이인 sliceNumber에 i만큼 더해줘야함.


5. subString을 정수로 변환하고,  p도 정수로 변환해서 크기비교 후 count를 증가시킴. 그리고 반환.
            const subStringNumber = parseInt(subString);
        if (subStringNumber <= parseInt(p)) {
            count++;}}
    return count;
}


 

다른 사람 풀이

 

 


 

회고

 

slice 메서드를 이용해서 답을 구하는 것까지는 접근했으나 문자열을 구하는 부분에서 디테일하게 설정하는게 미숙했다.

위 설명에서 i + sliceNumber 도 원래는 그냥 sliceNumber 만 넣었었는데 이런 디테일한 부분은 좀 더 꼼곰히 생각하는게 필요한 것 같다.


 

 

 

 

728x90