코딩테스트

[프로그래머스] 문자 반복 출력하기

john-lennon 2026. 4. 28. 15:19

문제 설명

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.

 

제한사항

  • 2 ≤ my_string 길이 ≤ 5
  • 2 ≤ n ≤ 10
  • "my_string"은 영어 대소문자로 이루어져 있습니다.

입출력 예

my_string n result
"hello" 3 "hhheeellllllooo"

 


 

나의 코드

function solution(my_string, n) {
    const answer = my_string.split('')
    
    for (let i = 0; i < answer.length; i++) {
        answer[i] = answer[i].repeat(n);
    }
    
    return answer.join('');
}

 

방식

  1. 문자열을 한 글자씩 배열로 쪼갠다
  2. 배열을 처음부터 끝까지 돌면서 각 문자를 n번 반복한 값으로 변경한다
  3. 반복된 문자들을 다시 하나의 문자열로 합쳐 반환한다

 

다른 사람의 코드

function solution(my_string, n) {
    var answer = [...my_string].map(v => v.repeat(n)).join("");
    console.log(answer);
    return answer;
}

 

문자열

→ 스프레드로 배열화

→ map으로 각 문자 반복

→ join으로 합치기

 


 

느낀점

아직 map이나 스프레드 문법이 익숙하지 않다 보니 자연스럽게 for문이나 split부터 먼저 떠올랐다. 그로인해 지금은 내가 익숙한 방식으로 문제를 푸는 단계라는 걸 느꼈고, 그 자체는 나쁜 게 아니라 기본 흐름을 이해하고 있다는 뜻이라고 생각한다. 다만 다른 사람 코드를 보면서 같은 결과라도 map, 스프레드처럼 더 다양한 표현 방식이 있다는 걸 다시금 깨닫고 앞으로는 이런 방식들도 반복해서 연습해 '아는 것'에서 끝나는 게 아니라 실제 문제를 볼 때 선택지처럼 떠올릴 수 있도록 적용 범위를 넓혀야겠다고 느꼈다.