t = int(input())
result=[]
for _ in range(t):
s,e = map(int,input().split(" "))
result.append([s,e])
s= sorted(result, key=lambda s:s[0])
print('시작시간 오름차순',s)
s= sorted(result, key=lambda s:s[1])
print('시작+끝 시간 오름차순',s)
last =0
cnt=0
# last의 값과 i값을 비교해서 i값이 크다면 개수 추가해준다.
# last= j값으로 갱신해준다.
for i,j in s:
if i>=last:
cnt+=1
last=j
print(cnt)
11
1 4
3 5
0 6
5 7
3 8
5 9
6 10
8 11
8 12
2 13
12 14
시작시간 오름차순
[[0, 6], [1, 4], [2, 13], [3, 5], [3, 8], [5, 7], [5, 9], [6, 10], [8, 11], [8, 12], [12, 14]]
시작+끝 시간 오름차순
[[1, 4], [3, 5], [0, 6], [5, 7], [3, 8], [5, 9], [6, 10], [8, 11], [8, 12], [2, 13], [12, 14]]
결과 :4
회의실 배정에서 시작시간을 오름차순으로, 끝나는 시간을 오름차순으로 하면 시작시간이 끝나는 시간보다 크다면, 회의실 배정 가능하다. count +=1 해줌
last=j로 저장하고 다음으로 넘어감.
아이템 첫 번째 인자를 기준으로 오름차순으로 먼저 정렬하고,
두 번째 인자를 기준으로 오름차순 정렬.
만약 내림차순으로 정렬하게 하려면?
-x[0] 으로 부호 붙이기
lambda라는 키워드를 입력하고 뒤에는 매개변수(인자)를 입력하고 콜론(:)을 넣은 다음에 그 매개변수(인자)를 이용한 동작 적기
ex) lambda x: x*2
map(function, iterable)
map(적용시킬 함수, 적용할 값들)로 이해
적용한 값들: 반복가능한 자료형(리스트, 튜플 등)