728x90
반응형
leetcode : Kth Largest Element in an Array
배열이 주어지면 k 번째로 큰 수를 반환하는 문제로 보인다.
# leetcode : Kth Largest Element in an Array
import heapq
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
# 힙으로 만들기 위해 빈 배열
heap = []
# 루프를 돌면서
for num in nums:
# -를 붙여서 순서를 뒤집자, 힙은 최소 힙으로 정렬되기 때문에 음수로 하게 되면 최대수가 맨앞으로!
heapq.heappush(heap, -num)
# k 번째 큰 수를 출력해야하니, k-1 만큼 루프를 돌면서 다 버려주고
for _ in range(k-1):
heapq.heappop(heap)
# 마지막에 k 번째 출력
return -heapq.heappop(heap)
728x90
반응형
'Dev. > Algorithm' 카테고리의 다른 글
Python - 알고리즘 : 트리구조 (0) | 2023.06.22 |
---|---|
Python - 알고리즘 : 자료구조, 그래프, 다익스트라 (0) | 2023.06.21 |
Python - 알고리즘 : 그래프 알고리즘 (0) | 2023.06.20 |
Python - 알고리즘 : 리스트, 딕셔너리 (0) | 2023.06.19 |
Python - 알고리즘 기초 (0) | 2023.06.16 |
댓글