본문 바로가기
배움 기록/코테 연습

[프로그래머스] 세로 읽기 : JavaScript

by dygreen 2025. 1. 25.

📌 문제

 

📌 풀이

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

댓글