728x90
import java.util.*;
import java.util.stream.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
List<Integer> answer = new ArrayList<>();
Queue<Integer> queue = new LinkedList<>();
for (int num : progresses) {
queue.offer(num);
}
int day = 0;
int index = 0;
while (queue.size() > 0) {
// 진행 날짜 변수
day++;
// 처리 개수 변수
int removed = 0;
while (true) {
// speeds index 초과 시 탈출
if (index >= speeds.length) {
break;
}
int inc = day * speeds[index];
// 오늘 자 progress 진행상태 확인
int progress = queue.peek() + inc;
if (progress >= 100) {
// 완료 시 제거
queue.remove();
index++;
removed++;
continue;
}
break;
}
// 오늘 처리된 값 확인
if (removed > 0) {
answer.add(removed);
}
}
return answer.stream().mapToInt(Integer::intValue).toArray();
}
}