우선 순위 큐를 이용하는 문제이다.
list로 구현을 하게 되면 시간초과가 된다. 따라서 파이썬에서 heap 모듈을 import해서 구현했다.
#11000
n=int(input())
data=[list(map(int,input().split())) for _ in range(n)]
data.sort()
room=[]
room.append(data[0][1])
'''
이렇게 하면 시간초과
for i in range(1,len(data)):
print(room)
if data[i][0]<min(room):
room.append(data[i][1])
else :
room[room.index(min(room))]=data[i][1]
'''
import heapq
for i in range(1,n):
if data[i][0]<room[0]:
heapq.heappush(room,data[i][1])
else :
heapq.heappop(room)
heapq.heappush(room,data[i][1])
print(len(room))
'코딩테스트 공부 > 백준_그리디 알고리즘' 카테고리의 다른 글
[백준 11866 파이썬] (0) | 2022.01.16 |
---|---|
[백준 1051 파이썬] (0) | 2022.01.15 |
[백준 11279 파이썬] (0) | 2022.01.13 |
[백준 1927 파이썬] (0) | 2022.01.13 |
[백준 1715 파이썬] (0) | 2022.01.13 |