https://www.acmicpc.net/problem/1374
우선순위 큐를 이용하여 문제 해결이 가능하다.
import heapq
n=int(input())
heap1,heap2 = [],[]
ans,flag = 0,0
for _ in range(n):
a,b,c=map(int,input().split())
heapq.heappush(heap1, (b,c))
while heap1 :
s,e = heapq.heappop(heap1)
if flag ==0 :
flag += 1; ans +=1 ;heapq.heappush(heap2, (e,s,1))
else :
flag += 1
if heap2[0][0]<=s :
end,start,classnum = heapq.heappop(heap2)
heapq.heappush(heap2, (e,s,classnum))
else :
ans +=1
heapq.heappush(heap2,(e,s,ans))
print(ans)
'알고리즘 문제풀이' 카테고리의 다른 글
Piggy Back [10652 백준] (0) | 2024.09.18 |
---|---|
아이들과 선물상자[백준 23757] (2) | 2024.09.16 |
Heat Wave[백준 5996] (0) | 2024.09.11 |
Road to Savings[백준 27617] (0) | 2024.09.10 |
안정적인 문자열[백준 4889] (0) | 2024.07.22 |