이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다.
문제 정의
정렬되지 않은 배열에서 K번째 큰 요소 추출
책에서 구현된 코드
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
return sorted(nums, reverse=True)[k - 1]
기억해야할 기법
- 정렬이 더 빠르다
- heapify해서 K번째 요소를 찾는 것보다 정렬이 더 빠르다고 한다
내가 구현한 코드
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
heapq.heapify(nums)
k = len(nums)-k+1
while k != 1:
k-=1
heapq.heappop(nums)
return heapq.heappop(nums)
- 뭔가 조건이 더 첨가된 문제를 풀어보면 좋겠다
- K번째 큰 요소는 정렬문제에 가깝고, heap을 써서 무언가 처리가 필요한 문제가 아닌게 아쉽다
'책읽기' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰][트라이] 트라이 구현 (0) | 2021.08.05 |
---|---|
[파이썬 알고리즘 인터뷰] 16장 - 트라이 (0) | 2021.08.05 |
[파이썬 알고리즘 인터뷰] 15장 - 힙(heap) (0) | 2021.08.05 |
[쉽게 배우는 데이터 통신과 컴퓨터 네트워크](요약)[Chapter-2] 네트워크 모델 (0) | 2021.08.04 |
[파이썬 알고리즘 인터뷰][트리] 전위,중위 순회 결과로 이진 트리 구축 (0) | 2021.08.04 |