Problem Solving/프로그래머스

프로그래머스 야근 지수

minOE 2025. 7. 7. 11:08
728x90

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

import heapq
def solution(n, works):
    ans = 0
    if sum(works) <= n:
        return ans

    pq = []
    for work in works:
        heapq.heappush(pq,(-work,work))

    while n > 0:
        negative, positive = heapq.heappop(pq)
        if positive > 0:
            negative += 1
            positive -= 1
            n -= 1
            heapq.heappush(pq,(negative,positive))
        else:
            heapq.heappush(pq,(negative,positive))

    for _, elem in pq:
        ans += elem ** 2
    return ans
728x90