코딩테스트

[프로그래머스/Java] 기능개발

데메즈 2026. 7. 13. 06:47
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/42586

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

import java.util.*;

class Solution {
    public int[] solution(int[] progresses, int[] speeds) {
        Queue<Integer> queue = new LinkedList<>();
        List<Integer> result = new ArrayList<>();
        
        for(int i=0; i<progresses.length; i++){
            int remain = 100 - progresses[i];
            int day = remain / speeds[i];
            
            if(remain % speeds[i] != 0){
                day++;
            }
            
            queue.offer(day);
        }
        
        while(!queue.isEmpty()){
            int first = queue.poll();
            int count = 1;
            
            while(!queue.isEmpty() && queue.peek() <= first){
                queue.poll();
                count++;
            }
            
            result.add(count);
        }
        
        int[] answer = new int[result.size()];
        
        for(int i=0; i<result.size(); i++){
            answer[i] = result.get(i);
        }
        
        return answer;
    }
}
반응형