https://programmers.co.kr/learn/courses/30/lessons/42586
function solution(progresses, speeds) {
var answer = [];
let cur = 0;
while(cur < progresses.length){
let cnt = 0
let flag = true
let last
for(let i = cur; i < progresses.length; i++){
progresses[i] += speeds[i]
if(progresses[i] >= 100 && flag){
cnt++
last = i
}
else flag = false
}
if(cnt){
answer.push(cnt)
cur = last+1
}
}
return answer;
}
while문을 통하여 매일 기능개발 진도율을 각기 스피드에 맞춰 업데이트 하였다.
그리고 100이 넘어가는 경우 flag를 이용해서 연속적인 다음날까지 100인값을 체크하여 그만큼의 기능개발 수를 더하였다.
시간복잡도는 O(N)이다.