코딩테스트_c#/프로그래머스
프로그래머스 ) 연습문제 - 야근지수 Level3_C#
노년인생
2024. 2. 19. 18:58
728x90
반응형
처음엔 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
반응형