알고리즘 문제풀이

강의실[백준 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)