https://school.programmers.co.kr/learn/courses/30/lessons/12927
heapq 모듈을 사용하여 해결하였다.
import heapq
def solution(n, works):
answer = 0
if sum(works) <= n:
return 0
works = [-i for i in works]
heapq.heapify(works)
# 야근을 한 시점에서 남은 일의 작업량을 제곱하여 더한 값
while n != 0:
p = heapq.heappop(works)
p += 1
n -= 1
heapq.heappush(works, p)
for work in works:
answer += work * work
return answer
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] / [Level 1] / [Python] 공원 산책 (0) | 2023.04.10 |
---|---|
[프로그래머스] / [Level 3] / [Python] 등굣길 (0) | 2023.04.03 |
[프로그래머스] / [Level 3] / [Python] 이중우선순위 큐 (0) | 2023.04.03 |
[프로그래머스] / [Level 3] / [Python] 최고의 집합 (0) | 2023.03.27 |
[프로그래머스] / [Level 2] / [Python] 괄호 변환 (0) | 2023.03.27 |