개발 기록 남기기✍️

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

코딩 테스트 연습

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

너해동물원 2022. 12. 22. 09:59

🗒️ 문제 설명

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

 

⚠️ 제한 사항

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

 

👀 입출력 예

my_string n result
"hello" 3 "hhheeellllllooo"

❇️ 나의 풀이

  • 왜 나는 전개해서 계산하는 것밖에 생각이 안 날까..? 한 문자열을 돌면서 계산할 수 있는 방법은 없을까?
  • 일단 string을 전개해서 for(let of ..) 문을 통해 배열 전체를 돈다.
  • 전역함수 안에 var answer = ''를 선언하고, for 함수 안에서 answer = answer.concat(a.repeat(n))을 실행한다.
    • String.concat(a)은 String의 뒷부분에 a라는 값을 추가한 문자열을 반환한다. 구분자 파라미터를 생략할 수 있다. 
    • String.repeat(n)함수는 해당 문자열을 n번 반복한 값을 출력한다.
function solution(my_string, n) {
    var answer = '';
    for (let a of [...my_string]){
        answer = answer.concat(a.repeat(n));
    }
    return answer;
}

 

✍️ 리뷰

✔️ 문자열을 전개해서 푸는게 맞았던 것 같다. 다만 배열을 사용할거면 for 문도 좋지만 .map() 함수를 사용하는게 더 깔끔할 것 같다.