본문 바로가기

알고리즘 문제풀이

강의실[백준 1374]

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