오늘의 코딩테스트 한줄 - 문자 반복 출력하기

Edwin·2023년 1월 27일
1
post-thumbnail

프로그래머스 코딩테스트 - 문자 반복 출력하기

문자 반복 출력하기

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

1) 나의 풀이 살펴보기

function solution(my_string, n) {
    var answer = my_string.split('');
    var answer2 = "";
    for (let i=0;i<answer.length;i++) {
        answer2 = answer2+(answer[i].repeat(n));
    }
    return answer2;
}

console.log(solution("hello",3))

1) var answer = my_string.split('');

  • 먼저 my_string으로 들어온 "hello"를 하나씩 잘라주었다.

2) for (let i=0;i<answer.length;i++){answer2 = answer2+(answer[i].repeat(n));};

  • 반복문을 실행하여, 변수answer를 한번씩 돌면서 (answer[i].repeat(n)), 나눠진 문자열을 n번 반복하였고, 이를 기존의 변수 answer2에 더하여 answer2을 재설정해주었다.

3) return answer2;

  • 그리고 반환된 값을 보면 문제를 완성했다.

2) 다른 사람들의 풀의 살펴보기

function solution(my_string, n) {
    return my_string.split("").map((v)=> v.repeat(n)).join('')
}

console.log(solution("hello",3))

대단한 사람이다. 한줄로 문제를 풀어버리다니
메서드 map()이란? 배열 내의 모든 요소 각각에 대하여 주어진 값을 호출하는 것이라고 한다.

1) my_string.split("").map((v)=> v.repeat(n)).join('')
즉 my_string.split("")로 인하여 배열로 각 문자열 하나하나가 나눠진 my_string의 배열데이터 하나씩 가져오라는 말이다. 이때 v는 다른 명칭으로 기록해도 된다.

2)my_string.split("").map((v)=> v.repeat(n)).join('')
각 문자열 하나하나가 나눠진 my_string의 배열데이터를 n번만큼 반복하라는 명령이다.

3) my_string.split("").map((v)=> v.repeat(n)).join('')
이를 통해서 반복된 문자열을 합쳐서 결과를 산출해라.

profile
신학전공자의 개발자 도전기!!

0개의 댓글