티스토리 뷰

반응형

 

 

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)

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함