pkuImoogis / study-codingTest

0 stars 0 forks source link

기능개발 #391

Open geonnho0 opened 7 months ago

geonnho0 commented 7 months ago

문제 링크

geonnho0 commented 7 months ago

각 기능의 배포될 날짜를 구한 뒤, 해당 기능 이후의 기능들 중, 같은 날에 배포될 기능을 모두 찾아요. 배포될 기능의 개수를 구한 뒤, 배포될 기능들 중 마지막 기능 다음번에 위치한 기능에서 다시 위 과정을 수행해요.

코드

class Solution {
    public int[] solution(int[] progresses, int[] speeds) {
        int n = progresses.length;
        List<Integer> count = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            int days = (int) Math.ceil((double) (100 - progresses[i]) / speeds[i]);
            int j = i + 1;
            for (; j < n; j++) {
                if (progresses[j] + speeds[j] * days < 100)
                    break;
            }
            count.add(j - i);
            i = j - 1;
        }
        return count.stream().mapToInt(Integer::intValue).toArray();
    }
}