Algorithm

[프로그래머스/JavaScript] Lv.1 크기가 작은 부분 문자열

cob 2023. 1. 3. 12:45

 

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 


1. 문제 설명

숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.

예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다.

제한사항

 

 


2. 입출력 예

입출력 예

 

 


3. 문제 풀이

function solution(t, p) {
    var answer = 0;

    // 1) p길의 만큼 자르기 위해 변수 선언
    let len = p.length;

    // 2) 문자열 t만큼 반복한다.
    for(let i=0; i<t.length; i++) {
       
        // 3) t를 len(p의 길이) 만큼 자르지 못하게 되면 answer를 return한다.
        if(t.length-i < len) return answer;

        /*
            4) 문자열 t를 i부터 len(p의 길이)만큼 자른 숫자가 
               문자열 p 값보다 작거나 같으면 answer증가(숫자 비교)
        */
        if(t.substring(i, len+i) <= p) answer++;
    }
    return answer;
}

 

 

반응형