본문 바로가기
ComputerScience/알고리즘, 프로그래머스

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

by VictorMeredith 2023. 2. 1.

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만큼 반복해서 리턴한다.

댓글