프로그래머스 Level 2 - 기능개발
📌 문제 설명
📌 생각한 풀이 방법
- 처음부터 순서대로 소요되는 날짜를 계산하여 count에 저장함
- 해당 progress의 소요 날짜에 다음 progress도 완료되는지 확인
3-1. 완료되면 handlingWork의 수를 증가시킴
3-2. 완료되지 않으면 handlingWork를 answer에 push함
- 다음 progress를 1~3 순서대로 다시 진행 및 반복함
📌 풀이
function solution(progresses, speeds) {
let answer = [];
let count = [];
for (let i = 0; i < progresses.length; i++) {
let currentCount = 0;
let currentValue = progresses[i];
while (currentValue < 100) {
currentValue += speeds[i];
currentCount++;
}
count.push(currentCount);
}
while (count.length) {
let handlingWork = 0;
let current = count.shift();
handlingWork++;
while (count[0] <= current) {
count.shift();
handlingWork++;
}
answer.push(handlingWork);
}
return answer;
}