
1. 문제

2. 소스코드
import sys
n = int(sys.stdin.readline())
room = []
for _ in range(n):
time = list(map(int,sys.stdin.readline().split()))
room.append(time)
room.sort(key = lambda x:(x[1],x[0]))
end = 0
cnt = 0
for i,j in room:
if i>=end:
cnt += 1
end = j
print(cnt)
이번 문제는 숫자 범위가 꽤 넓어서 그런지 sys를 쓰고 안 쓰고의 시간차이가 굉장히 많이 난다...!!!
+ sort를 어떻게 쓰느냐에 따라 정렬순서가 달라지기 때문에 이 점 유의해야 할 것 같다

3. sort
list = [
[1, 4],
[3, 5],
[0, 6],
[5, 7],
[3, 8],
[5, 9],
[6, 10],
[8, 11],
[8, 12],
[2, 13],
[12, 14]]
list.sort()
#or
lis.sort(key = lambda x:(x[0]:x[1])
#[[0, 6], [1, 4], [2, 13], [3, 5], [3, 8], [5, 7], [5, 9], [6, 10], [8, 11], [8, 12], [12, 14]]
#list[0][i]정렬은 고정한 후 list[i][1]의 정렬이 이루어짐 -> 즉, 첫번째 원소가 같은 배열만 순서가 바뀜
list.sort(key = lambda x:(x[1],x[0])
#or
list = sorted(list, key = lambda x:x[0])
list = sorted(list, key = lambda x:x[1])
#[[1, 4], [3, 5], [0, 6], [5, 7], [3, 8], [5, 9], [6, 10], [8, 11], [8, 12], [2, 13], [12, 14]]
#list[0][i]정렬에 list[i][1]의 순서를 덮어씌운다반응형