처음엔 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
반응형
'코딩테스트_c# > 프로그래머스' 카테고리의 다른 글
프로그래머스 ) 코딩테스트 입문 - 다항식 더하기 Level.0_C# (0) | 2024.02.28 |
---|---|
프로그래머스 ) 코딩테스트 연습 - 제일 작은 수 제거하기 Level.1_C# (0) | 2024.02.20 |
프로그래머스 ) 코딩테스트 연습 - 숫자게임 Level.3_C# (0) | 2024.02.19 |
프로그래머스 ) 연습문제 - 혼자서 하는 틱택토 Level.2_C# (0) | 2024.02.14 |
프로그래머스 ) 연습문제 - 대충 만든 자판 Level.1 _C# (1) | 2024.02.14 |