Techbrad

[백준] 1931번 회의실 배정 - 그리디알고리즘 파이썬 본문

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)

 

반응형