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명이 나눠 먹는 문제였다. 나눠 먹을 수 있는 경우에만 각자의 몫만큼 음식을 left
와 right
에 추가했다. 단, right
는 오른쪽부터 먹으므로, 먹는 순서를 같게 하기 위해 unshift
를 사용했다. push
는 뒤에 추가되고, unshift
는 앞에 추가된다.
concat
으로 합친 후 문자열로 만들어 반환했다.