백준-2109 : 순회강연
https://www.acmicpc.net/problem/2109
풀이
- 입력 받은 정보를 날짜 순으로 정렬을 한다.
- 정렬한 데이터를 꺼내면서 우선순위 큐에 넣으며 우선순위 큐의 크기가 날짜보다 클경우 가장 작은 비용의 값을 꺼낸다.
코드 (python)
import sys
import heapq
def input():
return sys.stdin.readline().rstrip()
n = int(input())
infoList = [list(map(int, input().split(" "))) for _ in range(n)]
#날짜 순으로 정렬
infoList.sort(key=lambda x : x[1])
pq=[]
for pay, day in infoList:
heapq.heappush(pq,pay)
# 강연일 보다 더 크다면 가장 작은값 제거
if day < len(pq):
heapq.heappop(pq)
print(sum(pq))
'Algorithm' 카테고리의 다른 글
[투 포인트] 백준-2473 세 용액 골드3 (Python) (0) | 2023.04.21 |
---|---|
[이진 탐색] 백준-20551 Sort 마스터 배지훈의 후계자 실버4 (Python) (0) | 2023.04.19 |
[DFS] 백준-15173 점프왕 쩰리 (Small) 실버4 (Python) (0) | 2023.04.14 |
[그리디,이진 탐색] 백준-8983 사냥꾼 골드4 (Java) (0) | 2023.04.13 |
[BFS] 백준-10610 30 실버4 (0) | 2023.04.11 |