⚡문제정보
문자열 매개변수 두개가 주어지는데 모두 숫자로 이루어져있네요
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
}
반응형
'programmers' 카테고리의 다른 글
[Programmers Level 2] 짝지어 제거하기 Javascript (0) | 2022.12.27 |
---|---|
[Programmers Level 2] 영어 끝말잇기 Javascript (0) | 2022.12.25 |
[Programmers Level 2] 오픈채팅방 Javascript (1) | 2022.12.22 |
[Programmers Level 1] 성격 유형 검사하기 Javascript (0) | 2022.12.20 |
[Programmers Level 0] 가장 가까운 같은 글자 Javascript (0) | 2022.12.17 |