알고리즘 문제풀이
강의실[백준 1374]
wiojfe
2024. 9. 11. 15:42
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)