Computer Science/알고리즘

프로그래머스 코딩테스트 연습 | 기능개발 Java 문제 풀이

토마토. 2023. 4. 16. 17:22

코딩테스트 연습 - 기능개발 | 프로그래머스 스쿨 (programmers.co.kr)

import java.util.*;

class Solution {
    public static int[] solution(int[] progresses, int[] speeds) {
        ArrayList<Integer> answerList = new ArrayList<>();
        int[] answer = {};

        int days = 0;
        for (int i=0;i<progresses.length;i++){
            int needDays = (int) Math.ceil((double)(100-progresses[i])/speeds[i]);
            if (needDays > days){
                days = needDays;
                answerList.add(1);
            } else {
                answerList.set(answerList.size()-1, answerList.get(answerList.size()-1)+1);
            }
        }

        answer = new int[answerList.size()];
        for (int i=0;i<answerList.size();i++){
            answer[i] = answerList.get(i);
        }
        return answer;
    }
}