[파이썬] 백준 13904 : 과제 (골드3)
13904번: 과제
예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다.
www.acmicpc.net
문제
풀이
방향성 생각
- 뒤에서 부터 시작하기
전체코드
from collections import defaultdict as dd
import heapq as hq
import sys
input = lambda : sys.stdin.readline().rstrip()
table = dd(list)
for _ in range(int(input())):
d,p = map(int,input().split())
table[d].append(-p)
info = sorted(list(table.items()))
heap = []
answer,deadline = 0,info[-1][0]
for _ in range(deadline):
if info and deadline <= info[-1][0]:
_,pay = info.pop()
for p in pay:
hq.heappush(heap,p)
if heap: answer -= hq.heappop(heap)
deadline -= 1
print(answer)
코멘트
자세한 설명은 생략한다
'Algorithm > Greedy' 카테고리의 다른 글
[파이썬] 백준 1736 : 쓰레기 치우기 (골드1) (0) | 2024.02.18 |
---|---|
[파이썬] 프로그래머스 : n+1 카드게임 (Lv.3) (0) | 2024.01.18 |
[파이썬] 백준 30015 : 학생회 뽑기 (골드3) (0) | 2024.01.17 |
[파이썬] 백준 2109 : 순회강연 (골드3) (0) | 2023.12.12 |
[파이썬] 백준 2258 : 정육점 (골드4) (0) | 2023.12.10 |
[파이썬] 백준 1781 : 컵라면 (골드2) (0) | 2023.11.30 |
[파이썬] 백준 28709 : 와일드카드 괄호 문자열 (골드1) (0) | 2023.10.22 |
댓글