본문 바로가기

Coding Test/Programmers

[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 25 - 문자 반복 출력하기)

728x90

 

# 문제 

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



# 답안 

// 1. 입력: my_string -> 문자열 "hello" 같은거, n -> 정수 1,2,3 같은거
// 2. 출력: my_string에 들어있는 각 문자를 n만큼 반복한 문자열


// 방법1)
function solution(my_string, n) {
    return my_string.split('').map(char => char.repeat(n)).join(''); 
    }


// 방법2)
function solution(my_string, n) {
    return [...my_string].map(v => v.repeat(n)).join("");
    }



# 인사이트 
// 방법1) split으로 문자열 쪼개서 배열로 만들고, map으로 배열 각 요소를 repeat해서 요소들마다 반복하고, join으로 이어 붙이기 
// 방법2) spread 연산자 써서 나누고,  map으로 배열 각 요소를 repeat해서 요소들마다 반복하고, join으로 이어 붙이기

 

< 과정 >

1-1. split로 문자열을 쪼개서 배열로 만들기

function solution(my_string, n) {
   return my_string.split('');
   }
solution("abc", 3)   // ['a', 'b', 'c']


1-2. spread 연산자로 문자열을 문자 단위로 나누어 각 문자를 배열의 요소로 만들기

function solution(my_string, n) {
   return [...my_string];
   }
solution("abc")   // ['a', 'b', 'c']



2. map으로 배열의 각 요소를 repeat 하기

function solution(my_string, n) {
   return my_string.split('').map(char => char.repeat(n));
   }
solution("abc", 3)   //  ['aaa', 'bbb', 'ccc']



3. join으로 배열의 각 요소를 이어붙이기

function solution(my_string, n) {
   return my_string.split('').map(char => char.repeat(n)).join('');
   }
solution("abc", 3)   // 'aaabbbccc'

 

 

728x90