devlog_owen
[프로그래머스] 크기가 작은 부분문자열 본문
문제
나의 풀이
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 만 넣었었는데 이런 디테일한 부분은 좀 더 꼼곰히 생각하는게 필요한 것 같다.
'algorithm > (js)프로그래머스' 카테고리의 다른 글
[프로그래머스] 두 정수 사이의 합 (0) | 2023.11.06 |
---|---|
[프로그래머스] 콜라츠 추측 (0) | 2023.11.06 |
[프로그래머스] 이상한 문자 만들기 (0) | 2023.11.05 |
[프로그래머스] 최소직사각형 (0) | 2023.11.05 |
[프로그래머스] 삼총사 (0) | 2023.11.05 |