programmers

[Programmers Level 1] 크기가 작은 부분 문자열 Javascript

냠냠맨 2022. 12. 25. 08:17

⚡문제정보

 

 

문자열 매개변수 두개가 주어지는데 모두 숫자로 이루어져있네요

t 문자열에서 p 문자열만큼 잘라서 작은 값이 있을 경우 +를 해주면 되는 문제인데

숫자의 대소관계는 앞자리 하나로도 정할 수 있으니까

서로 앞자리가 같은 경우에만 전체를 짤라서 비교해주면 될 것 같습니다.

 


 

 

🔍접근방법

 

t[i]의 첫자리가 p[0]과 같은 경우에만 slice()를 통해 문자열 전체를 비교한다.

 


 

 

🔍나의 풀이

 

function solution(t, p) {
    let answer = 0
    for( i = 0 ; i < t.length -p.length +1 ; i++) {
        if(t[i] < p[0]) answer++
        else if(t[i] == p[0]) {
            let spliter = t.slice(i,i + p.length)
            if(spliter <= p) answer++
        }
    }
    return answer
}

 

설명은 아래에 서술합니다.

 

function solution(t, p) {
    let answer = 0
    //정답 저장할 변수
    for( i = 0 ; i < t.length -p.length +1 ; i++) {
        if(t[i] < p[0]) answer++
        //만약 p[0]이 더크다면 뒷자리는 비교할 필요도 없이 p가 더큼
        else if(t[i] == p[0]) {
            let spliter = t.slice(i,i + p.length)
            if(spliter <= p) answer++
        }
        //만약 두값의 첫자리가 같다면 slice를 통해 전체를 비교해줌
    }
    return answer
}

 

반응형