카테고리 없음

[프로그래머스/js] 야근지수

_서리__ 2023. 6. 5. 12:52
function solution(n, works) {
    var answer = 0;
    //즉 한마디로 n을 잘 분배해서 works를 작게 만들어야함.
    const sum = works.reduce((acc,cur)=>acc+cur)
    if(n>sum) return 0
    while(n>0){
        let max = 1
        let maxidx = 0;
        for(let i=0;i<works.length;i++){
            if(max<=works[i]){
                max=works[i]
                maxidx=i
            }
        }
        works[maxidx]--;
        n--;
    }
    for(let i=0;i<works.length;i++){
        answer+=works[i]**2
    }

    return answer;
}

어렵게 맥스로 풀었는데 걍 sort해놓고 풀면 되는거였다 ㅎㅎ...

근데 sort로 하면 엄청 느려지기때문에 맥스가 맞는것같다 ㅎㅎ