📌 문제
📌 풀이
function solution(my_string, m, c) {
let result = '';
for (let i = c - 1; i < my_string.length; i += m) {
result += my_string[i];
}
return result;
}
처음 문제를 접했을 때는 무조건 m 글자씩 자른 뒤, 다음 로직을 생각하려고 했다.
그런데 생각해보면 자를 필요가 없다. 만약 주어진 입출력 예처럼 m이 4이고, c가 2일 경우
my_string의 1번째, 5번째, 9번째 .. 글자를 뽑아내면 되는 것이고, my_string의 length 전까지만 이를 반복하면 되는 것이었다.
즉, 1번째, 5번째, 9번째 .. 는 index 를 뽑아내야 하므로 i의 초기값은 c - 1 로 하면 된다. 그 후, i의 값에 m 을 더하며 반복한다.
특별히 메서드를 배우지는 않았지만
생각의 전환을 했으면 좀 더 쉽게 문제에 접근할 수 있을 것 같아 기록한다.
728x90
'배움 기록 > 코테 연습' 카테고리의 다른 글
[프로그래머스] 왼쪽 오른쪽 : JavaScript (0) | 2025.02.02 |
---|---|
[프로그래머스] 2의 영역 : JavaScript (1) | 2025.01.30 |
[프로그래머스] 주사위 게임 3 : JavaScript (1) | 2025.01.19 |
[프로그래머스] 배열 만들기 4 : JavaScript (1) | 2025.01.18 |
[프로그래머스] 수열과 구간 쿼리 2 : JavaScript (0) | 2024.12.30 |
댓글