19598 최소 회의실 개수

정민용·2023년 4월 25일
0

백준

목록 보기
148/286

문제

서준이는 아빠로부터 N개의 회의를 모두 진행할 수 있는 최소 회의실 개수를 구하라는 미션을 받았다. 각 회의는 시작 시간과 끝나는 시간이 주어지고 한 회의실에서 동시에 두 개 이상의 회의가 진행될 수 없다. 단, 회의는 한번 시작되면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작 시간은 끝나는 시간보다 항상 작다. N이 너무 커서 괴로워 하는 우리 서준이를 도와주자.

# 19598
import sys
input = lambda: sys.stdin.readline().strip()

import heapq

n = int(input())
time = [list(map(int, input().split())) for _ in range(n)]

time.sort(key = lambda x : x[1])
time.sort(key = lambda x : x[0])

room = []
heapq.heappush(room, time[0][1])

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

백준 19598 최소 회의실 개수

0개의 댓글