[Javascript] LV.0 문자 반복 출력하기

은비·2023년 11월 6일
1

Programmers_CodingTest

목록 보기
56/72
post-thumbnail

문제 설명

문자열 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 합니다.

✍ SOLUTION1

const solution = (my_string, n) => 
my_string.split("").map(item=>item.repeat(n)).join("");

/* 
내가 처음 작성한 코드이다. 

split 메서드를 사용하여 my_string을 배열안에 글자 하나씩 요소로 담아준다.
map을 이용하여 배열 안에 있는 요소를 하나씩 repeat를 통해서 반복시켜준 후 join으로 string으로 변환해준다.
*/

✍ SOLUTION2

const solution = (my_string, n) =>  
Array.from(my_string).map(str=> str.repeat(n)).join("");

/*
SOLUTION1과 비슷하지만 split을 사용하지 않고 Array.from을 이용하여 배열로 만들어 준 후 
SOLUTION1과 동일하게 map, repeat, join을 사용해 주었다.
*/

✍ SOLUTION3

const solution = (my_string, n) => {
    let str = "";
    for(let i = 0; i < my_string.length; i += 1) {
        str += my_string[i].repeat(n)
    }
    return str;
}

/*
i는 0부터 my_string의 길이만큼 1씩 더해주는 for문을 만들어주었다.
my_string의 인덱스로 접근하여 repeat 해주었다.
*/

출처 : 프로그래머스 스쿨 | 코딩테스트 연습

0개의 댓글