티스토리 뷰

Algorithm

야근 지수 (Python)

RetepMil 2023. 9. 20. 22:51

접근 방법

  1. n만큼 그리디하게 works에서 1씩 빼주면 최소 야근 지수를 구할 수 있다.
  2. 먼저 들어온 works 배열을 힙 구조로 만들어준 뒤, 가장 큰 works 원소부터 1씩 빼준다.
  3. n 만큼 소모하면 0 이하의 값을 제외하고 제곱해서 answer에 추가한다.

코드

from heapq import heapify, heappush, heappop

def solution(n, works):
    repl = [-work for work in works]
    heapify(repl)
    for i in range(n):
        heappush(repl, heappop(repl) + 1)
    answer = 0
    for num in repl:
        if num > 0: continue
        answer += num ** 2
    return answer

 

'Algorithm' 카테고리의 다른 글

모두 0으로 만들기 (Java)  (0) 2023.09.25
쌍둥이 빌딩 숲 (Java)  (0) 2023.09.24
2차원 동전 뒤집기 (Python)  (0) 2023.09.19
등산코스 정하기 (Python)  (0) 2023.09.19
광고 삽입 (Java)  (0) 2023.09.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함