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
'코딩테스트 준비 > [백준]' 카테고리의 다른 글
[백준] 1700번 - 멀티탭 스케쥴링 (파이썬) (0) | 2021.05.15 |
---|---|
[백준] 1931번 - 회의실 배정 (파이썬) (0) | 2021.05.15 |
[백준] 11047번 - 동전0 (파이썬) (0) | 2021.05.13 |
[백준] 1654 - 랜선 자르기 (파이썬) (0) | 2021.05.13 |
[백준] 1449번 - 수리공 항승 (파이썬) (0) | 2021.05.13 |