const count = 3;
const schedule = [1, 2, 1, 3, 3, 3];
function deliver(count, schedule) {
const hash = {};
let result = 0;
for (let i = 1; i <= count; i++) {
hash[i] = [];
}
schedule.forEach((distance, idx) => {
hash[(idx % count) + 1].push(distance);
});
while (count > 0) {
for (const key in hash) {
hash[key][0]--;
if (hash[key][0] == 0) {
hash[key].shift();
if (hash[key].length == 0) {
delete hash[key];
count--;
}
}
}
result++;
}
return result;
}
console.log(deliver(count, schedule));