ComputerScience/알고리즘, 프로그래머스

[Lv.1] 푸드 파이트 대회 (String(str).repeat())

VictorMeredith 2023. 2. 1. 13:46

1. 문제

2. 전략

 1) food array의 1부터 마지막까지 각각 요소를 나누기 2한값의 버림 값이 한쪽사람이 먹을 해당 음식의 양이다.

 2) 새로운 문자열에 그 음식의 양 만큼 반복해서 쌓는다

 3) 문자열 str이 완성되면 0을 추가하고 str을 뒤집어서 뒤에 연결하여 return 한다.

function solution(food) {
    var answer = '';
    
    let arr = [];
    let str = '';
        for (let i = 1; i < food.length; i++) {
        str += String(i).repeat(Math.floor(food[i]/2)); 
        //str에 (총음식양/2)의 정수부분만큼 1부터 반복하여 추가해준다.
    }
    
    arr = [...str].reverse().join('') 
    //str을 배열로만들고 순서를 뒤집은 후 다시 연결해준다.
    //(spread연산자, reverse(), join() )
    
    answer = str + '0' + arr // 합친다!
    
    return answer;
}

 

3. 알아야할 사항

 1) String(a).repeat(n) : a를 n만큼 반복해서 리턴한다.