728x90
반응형
19598번: 최소 회의실 개수 (acmicpc.net)
문제
서준이는 아빠로부터 N개의 회의를 모두 진행할 수 있는 최소 회의실 개수를 구하라는 미션을 받았다. 각 회의는 시작 시간과 끝나는 시간이 주어지고 한 회의실에서 동시에 두 개 이상의 회의가 진행될 수 없다. 단, 회의는 한번 시작되면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작 시간은 끝나는 시간보다 항상 작다. N이 너무 커서 괴로워 하는 우리 서준이를 도와주자.
입력
첫째 줄에 배열의 크기 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다. 시작 시간과 끝나는 시간은 231−1보다 작거나 같은 자연수 또는 0이다.
출력
첫째 줄에 최소 회의실 개수를 출력한다.
예제 입력 1 복사
3
0 40
15 30
5 10
예제 출력 1 복사
2
예제 입력 2 복사
2
10 20
5 10
예제 출력 2 복사
1
# Code
import heapq
import sys
input = sys.stdin.readline
n = int(input())
time = [list(map(int, input().split())) for _ in range(n)]
time = sorted(time, key = lambda x : x[0])
queue = []
heapq.heappush(queue, time[0][1])
for i in range(1, n):
if queue[0] <= time[i][0]:
heapq.heappop(queue)
heapq.heappush(queue, time[i][1])
print(len(queue))
# Comment
백준 11000 강의실 배정 문제와 풀이가 같다. 말만 살짝 다르고 같은 유형의 문제이다.
728x90
반응형
'백준 > 그리디' 카테고리의 다른 글
[백준] #2812 크게 만들기 (python) (0) | 2022.03.29 |
---|---|
[백준] #2141 우체국 (python) (2) | 2022.03.28 |
[백준] #1092 배 (python) (0) | 2022.03.24 |
[백준] #2212 센서 (python) (0) | 2022.03.22 |
[백준] #20044 Project Teams (python) (0) | 2022.03.22 |
댓글