프로그래머스 level3 야근 지수 (python)

Kim Yongbin·2023년 10월 7일
0

코딩테스트

목록 보기
129/162

Problem

https://school.programmers.co.kr/learn/courses/30/lessons/12927

Solution

import heapq

def solution(n, works):
    works = [-work for work in works]
    heapq.heapify(works)
    
    while works and n > 0:
        work = heapq.heappop(works)
        work += 1
        n -= 1
        if work < 0:
            heapq.heappush(works, work)
            
    return sum([work ** 2 for work in works])

각 단계별로 시간이 가장 많이 남은 일을 처리하면 된다. 이를 쉽게 하고자 heap을 사용하였다.

profile
반박 시 여러분의 말이 맞습니다.

0개의 댓글