1개 이상의 작업의 진도율과 각 작업의 개발 속도가 progresses[]와 speeds[] 배열로 주어진다.
완료된 작업은 배포되는 데, 순차적으로 이뤄져야하며 만약 두번째 작업이 첫번째 작업보다 먼저 완성이 되더라도 첫번째 작업이 완성될 때까지 기다린 후 같은 날에 배포가 된다.
한번 배포 할 때 총 몇개의 작업이 배포되는 지 반환하라
자바스크립트..가즈아
function solution(progresses, speeds) {
let days = 0 // 개발이 걸리는 속도
let count = 0 // 하루에 배포된 작업의 수
var answer = []; // 하루에 배포된 작업의 수를 저장하는 배열
// 작업이 모두 완료될 때까지 반복 진행
while (progresses[0]) {
// 큐 기준 첫번째로 있는 작업을 기준으로 진행
if (progresses[0] + days * speeds[0] >= 100) {
// 완료된 작업은 큐에서 제거한다.
progresses.shift()
speeds.shift()
// 완료된 작업 수만큼 count 증가
count += 1
} else {
// 만약 현재 작업이 직전에 완료된 작업(들)보다
// 시간이 걸린다면 앞서 배포한 작업의 개수부터 answer 배열에 넣어준다.
if (count != 0) {
answer.push(count)
count = 0
}
days += 1
}
}
// 마지막 작업이 끝나면 while문이 종료됨으로 while문 밖에서 배포된 작업의 수를 넣어준다.
answer.push(count)
return answer;
}