N개의 회의를 입력받는다.
회의의 시작시간과 끝나는 시간이 주어진다.
(이전에 풀었던 문제와 유사하다.)
이와 같은 문제들은 우선순위 큐를 이용하면 된다.
0 40
15 30
5 10
일 때,
0 40
5 10
15 30
으로 정렬한다.
이후, 도착시간을 기준으로 다음 시작시간이 더 작을 경우 queue에 삽입한다.
큰 경우는 queue에 데이터를 업데이트한다.
import sys
import heapq
read = sys.stdin.readline
n = int(read())
room1 = []
for _ in range(n):
s, e = map(int, read().split())
room1.append([s, e])
room1.sort()
answer = []
heapq.heappush(answer, room1[0][1])
for i in range(1, n):
if room1[i][0] < answer[0]:
heapq.heappush(answer, room1[i][1])
else:
heapq.heappop(answer)
heapq.heappush(answer, room1[i][1])
print(len(answer))