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;
    }
}

'Problem Solving > Programmers' 카테고리의 다른 글

[Level 2] 타겟 넘버  (0) 2022.03.31
[Level 2] 더 맵게  (0) 2022.03.31
[Level 2] 124 나라의 숫자  (0) 2022.03.31
[Level 2] 멀쩡한 사각형  (0) 2022.03.31
[Level 2] 오픈채팅방  (0) 2022.03.31