본문 바로가기

코딩테스트 공부/백준_그리디 알고리즘

[백준 11000 파이썬]

우선 순위 큐를 이용하는 문제이다. 

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