(1) 끝나는 시간의 오름차순
(2) 시작하는 시간의 오름차순
워낙 설명이 잘되어 있어 참고하면 될 것 같다.
import sys
read = sys.stdin.readline
n = int(read())
graph = []
for _ in range(n):
graph.append(list(map(int, read().split())))
graph.sort(key=lambda x: (x[1], x[0]))
endTime = graph[0][1]
result = 1
for idx in range(1, len(graph)):
if graph[idx][0] >= endTime:
endTime = graph[idx][1]
result += 1
print(result)
채점 결과