for 문을 사용하고
slice 로 문자열을 잘라서 문제를 해결햇다
트러블슈팅
처음 문제를 받았을때 t의 문자열을 밑의 인덱스 값대로 배열하는것에 꽤나 시간이 많이 걸렸다.
처음에 p의 값을 쓰려고 생각 하지 않아 for 문을 두개를 돌린다던가 하는 오류를 격고 나서 t.length - p.length 값을 찾았고
그뒤로는 문제가 쉽게 해결 되었다.
//크기가 작은 부분문자열
// 숫자로 이루어진 문자열 t p
// t= '3141592' p = '271'
// t길이가 3인부분 문자열은 314 141 415 159 592
// 이중 271 >= 인 수는 141 159 두개 정답 2
// 인덱스 신경안쓰고 위치로
// 필요한것 문자열을 t[1] t[2] t[3] / t[2] t[3] t[4] / t[3] t[4] t[5] / t[4] t[5] t[6] / t[5] t[6] t[7]
function solution(t, p) {
var answer = 0;
for(let i = 0; i< t.length - p.length +1 ; i++){
// 배열을 자른다 0부터 3까지 ~ 4부터 6까지
let num = t.slice(i , i + p.length)
//console.log(num)
if(p >= num){
answer ++
}
}
return answer;
}
console.log(solution('3141592','271'))'프로그래머스' 카테고리의 다른 글
| 자바스크립트 k 번째 수 (0) | 2023.09.11 |
|---|---|
| 자바스크립트 최소 직사각형 (0) | 2023.09.01 |
| 자바스크립트 삼총사 (0) | 2023.08.29 |
| 자바스크립트 이상한 문자 만들기 (0) | 2023.08.23 |
| 자바스크립트 3진법 뒤집기 (0) | 2023.08.23 |