import heapq
import sys
input = sys.stdin.readline
N = int(input())
cla = []
for _ in range(N):
cla.append(list(map(int, input().split())))
cla.sort(key=lambda x: (x[0],x[1]))
heap = [cla[0][1]]
for i in range(1, N):
if heap[0] <= cla[i][0]:
heapq.heappop(heap)
heapq.heappush(heap, cla[i][1])
print(len(heap))
기존에 풀었던 한 강의실에서 가능한 최대 강의 수 문제와 같은 문제라고 생각했는데 조금 다르다.
본 문제는 우선 순위 queue를 활용하여 전체 강의를 진행하기 위해 몇 개의 강의실이 필요한지를 계산해야한다.