<코드>
function solution(progresses, speeds) {
var answer = [];
let count = 1;
const days = progresses.map((item, i) => {
if((100 - item) % speeds[i] !== 0) {
return Math.floor((100 - item) / speeds[i]) + 1
} else {
return (100 - item) / speeds[i]
}
})
days.forEach((item, i) => {
if(item >= days[i + 1]) {
days[i + 1] = days[i];
count++;
}
if(item < days[i + 1] || i == days.length -1) {
answer.push(count);
count = 1;
}
})
return answer;
}
<풀이>
progresses를 순회하면서 진행률이 100%가 되기까지 남은 날짜를 계산한다.i + 1의 날짜가 작다면 한 번에 배포할 수 있으므로 count를 올림i + 1의 날짜가 크다면 count를 반환하고 1로 초기화