Programming/코딩테스트
[백준] 1931번 회의실 배정 - 그리디알고리즘 파이썬
brad.min
2023. 9. 7. 06:59
반응형
1931번: 회의실 배정
(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.
www.acmicpc.net
문제 접근 방법
처음에는 우선순위 큐를 가지고 풀려고 했으나 실패.
많은 시간을 소비한것에 비해 정답지는 너무 허무했다.
시작 시간을 오름차순으로 정렬 후 종료 시간으로 오름 차순을 정렬한다.
그러면 시작시간이 같은 경우 종료 시간이 빠른 순으로 정렬 된다.
제출 코드
import heapq
N = int(input())
meeting_list = []
for i in range(N):
s, e = map(int, input().split())
meeting_list.append((s, e))
# 시작 시간이 같은 모임들 중에서 종료시간이 빠른 모임으로 정렬됨.
meeting_list = sorted(meeting_list, key = lambda x:x[0])
meeting_list = sorted(meeting_list, key = lambda x:x[1])
end = 0
cnt = 0
for m in meeting_list:
if m[0] >= end:
cnt += 1
end = m[1]
print(cnt)
반응형