[프로그래머스] 배열의 원소만큼 추가하기

0
post-thumbnail
post-custom-banner

❔ [문제]

아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.

  • 제한사항
    • 1 ≤ arr의 길이 ≤ 100
    • 1 ≤ arr의 원소 ≤ 100


❕ [내 풀이]

function solution(arr) {
    var answer = [];
    for(let i = 0; i<arr.length; i++){
        for(let j = 0; j < arr[i]; j++){
            answer.push(arr[i]);
        }
    }
    return answer;
}

❕❕❕ [깔끔하다고 생각된 풀이]

function solution(arr) {
    var answer = [];
    for(let n = 0; n < arr.length; n++) {
        answer = answer.concat(new Array(arr[n]).fill(arr[n]))
    }
    return answer;
}

또는

function solution(arr) {
    var answer = [];

    arr.map((a)=>{
        for(let i = 0;i<a; i++){
            answer.push(a)
        }
    })
    return answer;
}
post-custom-banner

0개의 댓글