출처 - 프로그래머스 코딩테스트 고득점 KIT
release
, 이 때 함께 배포되는 기능의 갯수를 저장할 flag로 batch
를 설정한다.release
에 할당하고, batch
를 1로 설정한다.release
의 숫자와 비교하여 작거나 같다면 batch
를 증가시킨다.release
의 숫자보다 큰 숫자가 나온다면 이를 release
에 바꿔 저장하고, batch
에 누적된 수를 answer
에 push()
한 뒤 batch
를 1로 초기화한다. batch
에 남아있는 숫자를 answer
에 push()
해주는 것을 잊지 말자!function solution(progresses, speeds) {
let answer = [];
// STEP 01. 각 기능이 개발될때까지 소요되는 날짜
let durations = [];
for (let i = 0; i < progresses.length; i++) {
durations.push(Math.ceil((100 - progresses[i]) / speeds[i]));
}
// STEP 02. 각 배포때 배포되는 기능
let release = durations[0];
let batch = 1;
for (let i = 1; i < durations.length; i++) {
if (durations[i] <= release) {
batch++;
} else {
answer.push(batch);
release = durations[i];
batch = 1;
}
}
answer.push(batch);
return answer;
}
shift()
하여 꺼내 비교한다.