Problem Solving/Programmers

[Level 2] 기능개발

kmkunk 2022. 3. 31. 16:29
import java.util.*;

class Solution {
    public int[] solution(int[] progresses, int[] speeds) {
        int[] days = new int[progresses.length];
        Queue<Integer> queue = new LinkedList<>();
        List<Integer> list = new ArrayList<>();
        int n = 0;
        
        for(int i=0; i<progresses.length; i++) { days[i] = (99-progresses[i])/speeds[i]+1; }
        
        for(int i=0; i<days.length; i++) {
            if(!queue.isEmpty() && queue.peek()<days[i]) {
                int size = 0;
                
                while(!queue.isEmpty()) {
                    size++;
                    queue.poll();
                }
                
                list.add(size);
            }
            
            queue.add(days[i]);
        }
        
        while(!queue.isEmpty()) { 
            n++;
            queue.poll();
        }
        
        list.add(n);
        
        int[] answer = new int[list.size()];

        for(int i=0; i<answer.length; i++) { answer[i] = list.get(i); }
        
        return answer;
    }
}