🗝️ Algorithm/🟩 백준

🟩 [백준] [Python] [Gold5] 11000번_강의실 배정

Dbswnstjd 2023. 3. 19. 20:10

문제

https://www.acmicpc.net/problem/11000

 

11000번: 강의실 배정

첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109)

www.acmicpc.net

풀이

# 백준 11000번 문제 - 강의실 배정
import sys
import heapq
input = sys.stdin.readline

if __name__ == "__main__":
    n = int(input())
    schedule_list = [list(map(int, input().split())) for _ in range(n)]
    schedule_list.sort()

    room_queue = list()
    heapq.heappush(room_queue, schedule_list[0][1])

    for i in range(1, n):
        if schedule_list[i][0] >= room_queue[0]:
            heapq.heappop(room_queue)
        heapq.heappush(room_queue, schedule_list[i][1])
    
    print(len(room_queue))

우선순위 큐를 이용한 풀이