세용용용용 2024. 11. 13. 17:20

1931번: 회의실 배정

 

나의 풀이

import sys
input = sys.stdin.readline

n_ct = int(input())
s_list = []
for _ in range(n_ct):
    tp = tuple(map(int, input().rstrip().split()))
    s_list.append(tp)

s_list = sorted(s_list, key=lambda x:(x[1],x[0]))

result = 1
now_e = s_list[0][1]
    
for i in range(1, len(s_list)):
    s, e = s_list[i]
    if s >= now_e:
        result += 1
        now_e = e
print(result)

 

시간 복잡도

s_list = sorted(s_list, key=lambda x:(x[1],x[0])) : 파이썬 정렬 알고리즘 ( 선형 로그 시간 복잡도 )
해당 알고리즘 시간 복잡도는 : 선형 로그 시간 복잡도 ( O(n log n) )