본문 바로가기

프로그래밍/알고리즘(자바)

야근 지수 Level 3 #Collection.reverse

야근 지수 Level 3

https://programmers.co.kr/learn/challenge_codes/25


언어영역인줄... 문제가 무슨 말인지 파악을 못 해서 당황스러웠다.


Collections.reverse(Arrays.asList(works))가 먹히지 않는데... API 찾아보니 linear time에만 동작한다고 한다.

그 이상의 정보가 없어서 정확히 무슨 의미인지 모르겠다. 사실 문제 푸는데에는 지장없다.


import java.util.*;
class NoOvertime {
    public int noOvertime(int no, int[] works) {
        int result = 0;
        // 야근 지수를 최소화 하였을 때의 야근 지수는 몇일까요?
        while(no-->0){
            Arrays.sort(works);
        // Collections.reverse(Arrays.asList(works)); -> linear time에 동작한다는데 무슨말이니...
                                                    // sort와 같은 알고리즘 수행 시 동작한다는 말?
        works[works.length-1]--;
    }
    for(int i =0; i<works.length;i++){
            result += works[i]*works[i];
    }
    System.out.println(Arrays.toString(works));
        return result;
    }
    public static void main(String[] args) {
        NoOvertime c = new NoOvertime();
        int []test = {4,3,3};
        System.out.println(c.noOvertime(4,test));
    }
}