문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요
입출력 예 #1
"hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.
function solution(my_string, n) {
var answer = '';
for(let i = 0; i<my_string.length; i++)
{
for(let j = 0; j<n; j++)
{
answer+=my_string[i]
}
}
return answer;
}
반복이라는 말이 나왔기때문에 반복문을 써야할거같아서 바로 for문을 사용했다. 그리고 해당 요소만큼 n을 돌린 풀이이다.
function solution(my_string, n) {
let ans = '';
for (let s of my_string)
ans+=s.repeat(n);
return ans;
}
좀 더 간단하게 풀 수 있는 방법이 있을거라고 생각해서 봤는데, 앞서 풀었던 for of를 사용하고, repeat 메서드를 이용해서 반복을 해준 코드
function solution(my_string, n) {
return my_string.split('').reduce((acc, cur) => acc + cur.repeat(n), '')
}
split를 사용해서 my_string을 배열로 바꿔 준 다음, reduce 함수를 통해서 다음에 올 요소를 repeat 함수로 n 만큼 반복시켜서 합쳐주면서 풀어주는 코드