728x90
반응형

 

import sys

A = int(sys.stdin.readline())
B=[]
for i in range(A):
    c = list(map(int,sys.stdin.readline().split()))
    B.append(c)

B = sorted(B, key = lambda x : x[0] )
C = sorted(B , key = lambda x : x[1])
print(B)
print(C)

last = 0
count = 0
for i in C:
    if i[0] >= last: #i[0] = 1 last = 0 ==> last = 4 count =1
        #i[0] = 3 last =4 X
        #i[0] = 0 last = 4 X
        #i[0] = 5 last = 4 ==> last = 5 count =2
        #
        last = i[1]
        count+=1
print(count)

 

그리디는 당장의 상황을 기준으로 확장시키는 방향으로 해결

 

 

시작시간으로 먼저 정렬을 해준 후에, 종료 시간을 기준으로 정렬을 해준다.

 

SORTED 함수를 활용하여 정렬해준다. SORTED ( B, key = lambda x : x[0] )

 

 

==> 끝나는 시간의 오름차순으로 정렬해준다. ==> 앞의 끝나는 시간(last) 이 뒤 회의의 시작 시간(i[0])보다 작거나 같다면 count 해준다. 

 

==> 정렬 해준것의 1번째 부터의 count 해주면 된다.

 

 

728x90
반응형

+ Recent posts