개발공부/algorithm
[백준][python] 1931.회의실배정 - Greedy
so.py
2021. 4. 3. 22:45
- 백준 1931 회의실 배정 Silver II
- 문제링크
1931번: 회의실 배정
(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.
www.acmicpc.net
나의 코드
주어진 시작시간과 끝나는 시간을 1. 끝나는 시간의 오름차순 2. 시작하는 시간의 오름차순 으로 정렬해주어야한다. 그 후에는 각 회의의 끝나는 시간과 그 다음 회의의 시작 시간을 비교해주면서 카운트를 증가시켜주면 된다.
import sys
N = int(sys.stdin.readline())
meetings = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
meetings.sort(key = lambda x: (x[1], x[0]))
cnt = 1
end_time = meetings[0][1]
for i in range(1, N):
if meetings[i][0] >= end_time:
cnt += 1
end_time = meetings[i][1]
print(cnt)