import sys
input = sys.stdin.readline
n = int(input())
time = [[0]*2 for _ in range(n)]
for i in range(n):
start, end = map(int,input().split())
time[i][0] = start
time[i][1] = end
#끝나는 시간을 먼저 정렬한 뒤 시작시간 정렬
time = sorted(time, key=lambda a: (a[1],a[0]))
end_time = time[0][1]
cnt = 1
#시작 시간이 회의의 마지막 시간보다 크거나 같을 경우
for i in range(1, n):
if time[i][0] >= end_time:
cnt+=1
end_time = time[i][1]
print(cnt)
# 첫 기준을 끝나는 시간으로 잡은 이유는 끝나는 시간이 가장 짧은 시간부터 시작해야 최대한 많은 회의를 회의시간이 겹치지 않고 진행할 수 있기 때문이다.
#시작 시간이 회의의 마지막 시간보다 크거나 같지 않을 경우엔 다음 회의의 마지막 시간과 비교를 하며 진행된다.
'문제풀이 > 백준(Boj) 문제풀이' 카테고리의 다른 글
[백준][그리디 알고리즘] 1541. 잃어버린 괄호 (파이썬/Python) (0) | 2021.09.20 |
---|---|
[백준][그리디 알고리즘] 11399. ATM (파이썬/Python) (0) | 2021.09.20 |
[백준][그리디 알고리즘] 11047. 동전 0 (파이썬/Python) (0) | 2021.09.18 |
[백준][동적 계획법1] 10844. 쉬운 계단 수 (파이썬/Python) (0) | 2021.09.18 |
[백준][동적 계획법1] 9251. LCS (파이썬/Python) (0) | 2021.09.17 |