Written by
최태열
on
on
[Python][프로그래머스][Level3] 야근 지수
[Python][프로그래머스][Level3] 야근 지수
코드
import heapq
def solution(n, works):
if sum(works)<=n:
return 0
works=[-i for i in works]
heapq.heapify(works)
for _ in range(n):
ck=heapq.heappop(works)
heapq.heappush(works,ck+1)
return sum([i**2 for i in works])
힙을 사용한 문제다.
같은 값에 대해서 야근 지수가 최소로 만들기 위해서는
값들의 차이를 최소화해야 한다.
따라서 heap을 활용해 가장 큰 값을 1씩 줄이는 것을 n번 반복하면 된다.
Discussion and feedback