[JS] 프로그래머스 Lv1 - 푸드 파이트 대회

찐새·2023년 5월 23일
0

코딩테스트

목록 보기
51/53
post-thumbnail

푸드 파이트 대회

https://school.programmers.co.kr/learn/courses/30/lessons/134240

코드

function solution(food) {
    const left = [], right = [], answer = [0];
    food.slice(1).forEach((v, i)=>{
        if (Math.floor(v / 2) > 0) {
            for (let j = 0; j < Math.floor(v / 2); j++) {                
                left.push(i+1);
                right.unshift(i+1);
            }
        }
    })
    return left.concat(...answer, ...right).join("");
}

풀이

food에 들어있는 음식을 2명이 나눠 먹는 문제였다. 나눠 먹을 수 있는 경우에만 각자의 몫만큼 음식을 leftright에 추가했다. 단, right는 오른쪽부터 먹으므로, 먹는 순서를 같게 하기 위해 unshift를 사용했다. push는 뒤에 추가되고, unshift는 앞에 추가된다.

concat으로 합친 후 문자열로 만들어 반환했다.

profile
프론트엔드 개발자가 되고 싶다

0개의 댓글