프로그래머스
[JavaScript] 문자 반복 출력하기 - 프로그래머스
jjangsh
2024. 7. 30. 21:31
문제 :
내 풀이 :
function solution(my_string, n) {
let arr = [];
let temp = 0;
my_string.split('').map((str) => {
temp = n;
while(true) {
arr.push(str);
temp--;
if(temp <= 0) {
break;
}
}
})
return arr.join('');
}
문제에서 주어지는 문자열 my_string을 split() 메서드를 사용해서 한 글자씩 배열 형태로 만든다.
그 배열을 map을 통해 하나씩 꺼내오고 꺼내온 요소를 n번씩 찍어야 하니까 안에서 반복문을 돌려 위에 선언해 둔 arr 배열에 n번씩 push 해준다.
마지막으로 arr을 join() 메서드로 문자열로 만들어준다.
다른 사람의 풀이 (1) :
function solution(my_string, n) {
var answer = '';
for(var i = 0; i < my_string.length; i++){
for(var j = 0; j<n;j++){
answer += my_string[i];
}
}
return answer;
}
2중 for문으로 풀어낸 코드입니다.
내 풀이와 비슷하게 반복문을 두 번 쓴 형태인데 훨씬 깔끔하다.
다른 사람의 풀이 (2) :
function solution(my_string, n) {
let ans = '';
for (let s of my_string) ans+=s.repeat(n);
return ans;
}
for of를 사용하여 문자열의 각 문자를 순회하고,
repeat() 메서드는 원래 문자열을 주어진 횟수만큼 반복하여 연결한 새로운 문자열을 반환하는 메서드인데,
이 메서드를 사용하여 각 문자를 n번씩 ans에 담아 리턴한 풀이이다.
repeat()를 알고는 있었지만 이 문제에서 사용해야겠다고는 생각하지 못했는데, 이렇게 사용하는 것이구나라고 느꼈다.