- 알고리즘 분류를 보고 해당 문제를
heapq
을 이용해서 접근했다.heappush
와heappop
를 이용해서 작성했는데 메모리초과가 나와서 결국 다른 방법으로heapq.nlargest
를 이용해서 N번째 큰 수를 출력하는 방법의 코드를 작성했다.- 최대힙, 최소힙도 문제를 푸는데 자주 사용된다. 까먹지말고 구현하는 방법은 익혀두도록 하자.
import heapq
import sys
input = sys.stdin.readline
N = int(input().strip())
heap = []
for _ in range(N):
arr = list(map(int, input().strip().split()))
for i in arr:
heapq.heappush(heap, i)
heap = heapq.nlargest(N, heap)
print(heap[-1])