슈콩

[프로그래머스] Lv.2 기능개발 본문

Algorithms/Programmers

[프로그래머스] Lv.2 기능개발

shukong 2025. 10. 15. 14:44

 

[문제]

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) {
        List<Integer> list = new ArrayList<>();
        int n = progresses.length;
        int idx = 0;
        while(idx<n){
            int remain = 100 - progresses[idx];
            int day = remain / speeds[idx];
            if(remain%speeds[idx++]!=0) day++;
            int cnt = 1;
            while(idx<n){
                if((day * speeds[idx] + progresses[idx]) >= 100){
                    idx++;
                    cnt++;
                }
                else break;
            }
            list.add(cnt);
        }
        int[] answer = new int[list.size()];
        int arrIdx = 0;
        for(int i : list){
            answer[arrIdx++] = i; 
        }
        return answer;
    }
}