프로그래머스 - 야근 지수


프로그래머스 - 야근 지수

123456789101112131415161718import heapq def solution(n, works): answer = 0 if sum(works) < n: return answer work = [-i for i in works] heapq.heapify(work) for _ in range(n): heapq.heappush(work,heapq.heappop(work)+1) for w in work: answer += w**2 return answerColored by Color Scriptercs works n result[4, 3, 3] 4 12 예제에서 n=4 (남은 시간)일 때, 남은 작업량이 [4,3,3]이면 최소화된 야근 지수(남은 시간 제곱 합)는 2^2 + 2^2 + 2^2우선 n보다 works의 합이 적다면 애초에 야근할 필요가 없기에 0를 리턴. 그게 아니라면 따로 처리해줄 필요가 있다.문제가 (1. 효율성)을 요하고 제곱하는 수의 크기를 줄이는 것..........



원문링크 : 프로그래머스 - 야근 지수