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


문제 설명

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


제한사항

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

입출력 예

my_stringnresult
“hello”3“hhheeellllllooo”

입출력 설명

입출력 예 #1

  • “hello”의 각 문자를 세 번씩 반복한 “hhheeellllllooo”를 return 합니다.

나의 첫번째 풀이

function solution(my_string, n) {
  const answerArray = [...my_string].map((item) => item.repeat(n));
  var answer = answerArray.join("");
  return answer;
}

나의 두번째 풀이(Code Refactoring)

function solution(my_string, n) {
  let result = "";
  for (i = 0; i < my_string.length; i++) {
    for (j = 0; j < n; j++) {
      result += my_string[i];
    }
  }
  return result;
}

// repeat 메소드없이 이중 for문으로 출력

function solution(my_string, n) {
  return [...my_string].reduce((acc, cur) => acc + cur.repeat(n), "");
}

// reduce 함수로 출력하기

참고 할 만한 다른 사람의 코드

function solution(my_string, n) {
  let ans = "";
  for (let s of my_string) ans += s.repeat(n);
  return ans;
}

//for of로 반복 출력하기