n 명의 택배 배달원은 쌓인 택배를 배달해야 합니다.
각 택배는 접수된 순서로 배달이 되며 택배마다 거리가 주어집니다.
거리 1당 1의 시간이 걸린다고 가정하였을 때 모든 택배가 배달 완료될 시간을 구하세요.
1. 모든 택배의 배송 시간 1 이상이며 배달지에 도착하고 돌아오는 왕복 시간입니다.
2. 택배는 물류창고에서 출발합니다.
3. 배달을 완료하면 다시 물류창고로 돌아가 택배를 받습니다.
4. 물류창고로 돌아가 택배를 받으면 배달을 시작합니다.
5. 택배를 상차할 때 시간은 걸리지 않습니다.
입력은 배달원의 수와 택배를 배달하는 배달 시간이 주어집니다.
ex) 배달원이 3명이고 각 거리가 [1,2,1,3,3,3]인 순서로 들어오는 경우
function solution() {
const DILIVERY_MAN_COUNT = 3;
let deliveryTime = [1, 2, 1, 3, 3, 3];
let arr = Array.from({ length: DILIVERY_MAN_COUNT }, () => 0);
let result = 0;
while (deliveryTime.length !== 0) {
for (let i = 0; i < DILIVERY_MAN_COUNT; i += 1) {
if (arr[i] === 0 && deliveryTime.length !== 0) {
arr[i] = deliveryTime.shift();
}
}
arr.map((_, idx) => (arr[idx] -= 1));
result += 1;
}
result += Math.max(...arr);
console.log(result);
}
solution();
'PS > 제코베 JS 100제' 카테고리의 다른 글
제코베 JS 100제 / 99 / 토끼들의 행진 (0) | 2022.10.14 |
---|---|
제코베 JS 100제 / 98 / 청길이의 패션 대회 (0) | 2022.10.14 |
제코베 JS 100제 / 96 / 넓은 텃밭 만들기! (0) | 2022.10.10 |
제코베 JS 100제 / 95 / 도장찍기 (0) | 2022.10.10 |