큐를 활용해서 문제 풀이
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
int day = 0;
int count = 0;
Queue<Integer> queue = new ArrayDeque<>();
for (int i = 0; i < progresses.length; i++) {
// i번째 작업 진도
int progress = progresses[i];
// n일 후 가능
int n = (int) Math.ceil((double) (100 - progress) / (double) speeds[i]);
// 첫날 날짜 초기화
if (day == 0) {
day = n;
}
// 배포 날짜가 달라지는 경우 확인
if (n > day) {
queue.offer(count);
count = 1;
day = n;
}
// 배포 날짜가 달라지지 않는 경우
else {
count++;
}
}
queue.offer(count);
int answerSize = queue.size();
int[] answer = new int[answerSize];
for (int i = 0; i < answerSize; i++) {
answer[i] = queue.poll();
}
return answer;
}
}