[백준/파이썬] 2075 N번째 큰 수

bye9·2021년 1월 31일
0

알고리즘(코테)

목록 보기
41/130
post-custom-banner

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


알고리즘 분류

  • 우선순위큐

문제풀이

메모리 초과로 인해 pypy3로 제출하니 통과되었다.
파이썬으로 통과하려면 입력받는것과 동시에 바로 처리를 해주어야 하는 것 같다.

메모리 크기를 위해 n개가 넘어가면 최소값을 빼준다.

그렇게 되면 최종적으로는 n개의 값만 남는데 그 중에서 맨 끝에서부터 가장 큰 수이므로 n번째 큰 수 출력을 해주면 된다.

소스코드

import heapq

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

heap=[]
heapq.heapify(heap)
for i in range(n):
  for j in range(n):
    heapq.heappush(heap,graph[i][j])
    if len(heap)>n:
      heapq.heappop(heap)

print(heapq.heappop(heap))
post-custom-banner

0개의 댓글