백준, 강의실 배정, 11000, 파이썬

2024. 9. 10. 23:34ETC/Algorithm

[유형]

heap

 

[문제링크]

https://www.acmicpc.net/problem/11000

 

[요약]

김종혜 선생님한테는 Si에 시작해서 Ti에 끝나는 N개의 수업이 주어지는데, 최소의 강의실을 사용해서 모든 수업을 가능하게 해야 한다.

 

[문제풀이]

시작 시간이 빠른 순으로 정렬을 한다.

최소힙을 사용해서, 강의 끝나는 시간이 새로운 강의 시작 시간보다 느리면, 새로운 강의실을 사용한다.(heappush)

import sys
import heapq
def input():
    return sys.stdin.readline().rstrip()
times= []
N = int(input())
for N in range(N):
    start,end = map(int,input().split())
    times.append([start,end])

times.sort()

room = []
heapq.heappush(room, times[0][1])

for i in range(1,N+1):
    if times[i][0]<room[0]:
        heapq.heappush(room, times[i][1])
    else:
        heapq.heappop(room)
        heapq.heappush(room, times[i][1])

print(len(room))

'ETC > Algorithm' 카테고리의 다른 글

백준, 단어 수학, 1339  (1) 2024.09.12
프로그래머스,단속카메라,42884,파이썬  (0) 2024.09.11
백준, 수리공 항승, 1449, 파이썬  (0) 2024.09.10
백준, ATM, 11399, 파이썬  (0) 2024.09.10
백준, 동전 2, 22964, 파이썬  (1) 2024.09.10