function sol(n, l){
//n:택배원 수, l:택배들
let answer = 0;
//택배원 수 만큼의 배열 생성
let man = new Array(n).fill(0);
//모든 택배가 상차 되었을 경우 종료
while (l.length !== 0){
//택배원 수 만큼 반복
for (let j = 0; j < man.length; j++){
//택배원이 배달하고있는 택배의 잔여거리가 0인경우(배송완료인경우) 택배상차
if (man[j] == 0 && l){
man[j] += l.shift();
//shift()는 배열의 첫번째 요소 삭제
}
}
//택배원들 배송거리 -1 처리
man = man.map(x => x = x -1);
//1회 반복당 1의 시간증가
answer += 1;
}
//남은 택배 잔여거리 중 가장 많은 시간이 남은 택배를 더해줌
answer += Math.max.apply(null, man);
return answer;
}
const 배달원 = 3;
const 택배 = [1, 2, 1, 3, 3, 3];
console.log(sol(배달원, 택배));