//구글콘솔 광고 추가가

처음엔 works의 배열에 있는 작업량이 모두 변경되도 상관 없는 줄 알고 풀었다가 잘못됨을 직감하고 다시 품.

sort로 정렬을 해주고 작업량이 가장 많은 날의 일정에서 --해주면 된다.

 

+20점

테스트 케이스 추가

n(int) works(int[]) Return
10 [10,10,1] 51 >>  5,5,1

야근 지수 문제

 

내 코드
using System;
using System.Linq;
//+20
public class Solution {
    public long solution(int n, int[] works) {
        long answer = 0;     
        int sum = works.Sum();
        if (sum <= n)
            answer = 0;
        else
        {
            Array.Sort(works);
            for(int i =0; i < n; i++)
            {
                int lastIndex = works.Length - 1;
                while (lastIndex >=0 && works[lastIndex] <= works[lastIndex-1])
                {
                    lastIndex--;
                    if (lastIndex == 0) break;
                }
                --works[lastIndex];
            }
            foreach(long i in works)
            {
                answer += i * i;
            }
        }
        return answer;
    }
}
728x90

+ Recent posts