전형적인 그리디 알고리즘이다. 종료시간이 빨라야 최대한 많은 회의를 잡을 수 있다는 것을 알면된다.
n = int(input())
arr = []
for i in range(n):
a, b = map(int, input().split())
arr.append((a,b))
# 종료 시간을 오름차순 정렬하고, 시작 시간을 오름차순 정렬
arr.sort(key=lambda x: (x[1], x[0]))
endPoint = 0
answer = 0
for newStart, newEnd in arr:
if endPoint <= newStart:
answer+=1
endPoint = newEnd
print(answer)