본문 바로가기
Problem Solving/Greedy

[그리디] 백준 11000번: 강의실 배정 / 골드5

by ggyongi 2021. 6. 2.
반응형

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

 

11000번: 강의실 배정

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

www.acmicpc.net

아이디어를 떠올리기 힘들다.

우선순위 큐를 생각하면 실마리를 찾을 수 있다.

import heapq
n = int(input())

lst = []
for i in range(n):
    lst.append([x for x in map(int,input().split())])


q= []
lst.sort(reverse=True)
answer = 0
count = 0
while lst:
    cls = lst.pop()
    start, finish = cls[0],cls[1]
    heapq.heappush(q, finish)
    count += 1
    while True:
        elem = heapq.heappop(q)
        count -= 1
        if elem <= start:
            continue
        else:
            heapq.heappush(q, elem)
            count +=1
            break
    answer = max(answer, count)

print(answer)
 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글