06/25 heapq 문제
https://leetcode.com/problems/kth-largest-element-in-an-array/description/
priority queue 자료구조를 heapq모듈로 기본제공.
heappop()은 최소 값을 log n 복잡도로 반환. max 값이 반환되게 하려면 약간의 트릭을 써서 가능. 기존값에 마이너스 1을 곱해 음수로 치환하고 최종 값으로 반환할땐 다시 마이너스를 제거.
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
nums=[-n for n in nums]
heapq.heapify(nums)
for i in range(k):
ans=heapq.heappop(nums)
return -ans