[백준] 1374 - 강의실

2024. 5. 14. 18:55PS/백준

728x90
# stack이나 정렬 문제라고해서 완전히 그 형태로 만들어야된다는 생각은 버리고 규칙, 제약 조건을 먼저 생각해보자
import sys
import heapq
N = int(sys.stdin.readline())
time_list = [[] for _ in range(N)]
pq = []
num_lectures = 0
for ind in range(N):
    _, time_s, time_e = map(int, sys.stdin.readline().split())
    time_list[ind].append(time_s)
    time_list[ind].append(time_e)
time_list = sorted(time_list, key = lambda x: (x[0], x[1]))
for ind in range(N):
    if len(pq) > 0:
        if pq[0][0] > time_list[ind][0]:
            num_lectures += 1
        else:
            heapq.heappop(pq)
    else:
        num_lectures += 1
    heapq.heappush(pq, ([time_list[ind][1], time_list[ind][0]]))
print(num_lectures)

'PS > 백준' 카테고리의 다른 글

[백준] 1379 - 강의실 2  (0) 2024.05.22
[백준] 25918 - 북극곰은 괄호를 찢어  (0) 2024.05.15
[백준] 23349 - 졸업사진  (0) 2024.05.12
[백준] 27968 - 사사의 사차원 사탕봉지  (0) 2024.05.09
[백준] 19238 - 스타트 택시  (0) 2024.02.25