백준 - 11000번 문제에 대한 분석임.
import sys
import heapq
input = sys.stdin.readline
n = int(input())
l = [list(map(int, input().split())) for _ in range(n)]
l.sort()
answer = []
heapq.heappush(answer, l[0][1])
for i in range(1,n):
if l[i][0] < answer[0]:
heapq.heappush(answer, l[i][1])
else:
heapq.heappop(answer)
heapq.heappush(answer, l[i][1])
print(len(answer))
heapq 모듈을 사용한다.heap-ordered list에 넣어준다.heap-ordered list의 최소값(강의가 가장 빨리 끝나는 시간)과 비교하여 heap-ordered list에 집어넣고 최소값은 삭제해준다.(기존 강의실을 사용하기 때문)heap-ordered list에 집어넣어준다. (새로운 강의실을 추가)heap-ordered list의 남아있는 요소의 갯수를 출력한다.