본문 바로가기

코딩테스트 준비/[백준]

[백준] 11000번 - 강의실 배정 (파이썬)

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

 

11000번: 강의실 배정

첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (1 ≤ Si < Ti ≤ 109)

www.acmicpc.net

 

[코드]

import sys
import heapq
class_num = int(sys.stdin.readline())
schedule = []
for _ in range(class_num):
    schedule.append(list(map(int, sys.stdin.readline().split())))
schedule = sorted(schedule, key = lambda x: x[0])
heap = []
heapq.heappush(heap, schedule[0][1])
for i in range(1, class_num):
    if schedule[i][0] >= heap[0]:
        heapq.heappop(heap)
        heapq.heappush(heap, schedule[i][1])
    else:
        heapq.heappush(heap, schedule[i][1])
        
print(len(heap))

 

[참고]

파이썬 heapq 모듈을 이용하여 풀었다.

참고-1) 파이썬 heapq 모듈

https://www.daleseo.com/python-heapq/

 

[파이썬] heapq 모듈 사용법

Engineering Blog by Dale Seo

www.daleseo.com

참고-2) 힙(heap)이란

https://gmlwjd9405.github.io/2018/05/10/data-structure-heap.html

 

[자료구조] 힙(heap)이란 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io