1일 1솔

[백준] 1931번: 회의실 배정 (Python, 파이썬)

junmukbap98 2023. 9. 14. 17:40

문제 링크: https://www.acmicpc.net/problem/1931

 

1931번: 회의실 배정

(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.

www.acmicpc.net

 

Key point

끝나는 시간 (빨리 끝나는 순서대로) + 시작 시간 (빨리 시작하는 순서대로) 정렬 해야한다!!

끝나는 시간을 기준으로 정렬하는 건 쉽게 생각했는데, 시작 시간 기준으로 정렬하는 건 생각을 못했었다. 

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

key에 튜플로 인자를 넣어주면, 튜플 순서대로 정렬해준다. (참고)

n = int(input())
meeting = []
for _ in range(n):
    meeting.append(list(map(int, input().split())))

meeting = sorted(meeting, key=lambda x: (x[1], x[0]))
end_time = 0 
res = 0
for m in meeting:
    if m[0] >= end_time:
        res += 1
        end_time = m[1]

print(res)