문제: 기능개발
현재 배포 주기의 기준일보다 더 빨리 또는 동시에 완료되는 작업인 경우, cnt를 증가시킨다. 현재 배포 주기의 기준일보다 늦게 완료되는 작업인 경우, 현재까지의 작업 수를 answerList에 추가하고, 새로운 배포 주기를 시작한다.
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
ArrayList<Integer> answerList = new ArrayList<>();
int period = 0;
int cnt = 1;
for (int i = 0; i < progresses.length; i++) {
int speed = (int) Math.ceil((100.0 - progresses[i]) / speeds[i]);
if (period >= speed) {
cnt += 1;
} else {
if (i != 0) {
answerList.add(cnt);
}
period = speed;
cnt = 1;
}
}
answerList.add(cnt);
int[] answer = new int[answerList.size()];
for (int i = 0; i < answerList.size(); i++) {
answer[i] = answerList.get(i);
}
return answer;
}
}