n = int(input())
arr = []
for i in range(n) :
arr.append(list(map(int, input().split())))
arr.sort(key=lambda x:[x[1],x[0]])
count, check = 0, 0
for i in arr :
if check <= i[0] :
check = i[1]
count += 1
print(count)
문제정리
최적 적합을 구하는 문제
한개의 회의실과 N개의 회의 일정이 존재할때 회의실을 최대한 사용할 수 있는 횟수를 구하는 문제
풀이과정
그리디문제여서 맨처음에 회의 길이를 바탕으로 정렬하여 풀이하고자 하였다.
길이가 짧은 문제를 먼저 집을경우 먼저집은 짧은 문제로 인하여 이후 문제가 추가되지 못하는 경우가 발생하였다.
이에 답을 봤는데 끝나는 시간이 먼저일수록 많은 것을 추가할 수 있으니 끝나는 시간을 계속 추가하는 것으로 풀이하였다.
풀이 후
오랜만에 풀어서 그런지 감각이 없는 것 같다.