프로그램/코딩테스트
백준 2075 N번째 큰 수
차보루타
2022. 6. 13. 01:31
import heapq, sys
input = sys.stdin.readline
heap = []
num = int(input())
for _ in range(num) :
array = list(map(int,input().split()))
if heap :
for a in array :
if a > heap[0] :
heapq.heappop(heap)
heapq.heappush(heap, a)
else :
for a in array :
heapq.heappush(heap, a)
print(heap[0])
힙을 이용해 해결했다.
모든 수를 다 넣고 해결하기에는 시간 복잡도가 매우 커진다.
파이썬은 최소 힙을 이용하기 때문에 힙의 크기를 N으로 제한하고, 0번째에 있는 수를 출력하게 되면 N번째 큰 수가 된다.