Menu
CoddyTech

Kth Largest Element in an Array

보통힙정렬python iconjava iconcpp iconc iconjs icon+10

정수 배열 nums와 정수 k가 주어집니다. 배열을 큰 값부터 작은 값 순으로 정렬했을 때 1부터 세어 k번째 위치에 있는 값, 즉 nums에서 k번째로 큰 값을 반환하세요.

같은 값도 각각 따로 셉니다. [5, 5, 1]에서 가장 큰 값은 5이고 두 번째로 큰 값도 5입니다.

함수

findKthLargest(nums: integer-array, k: integer) → integer
numsinteger-array
순위를 매길 값
kinteger
반환할 가장 큰 값, 가장 큰 값의 경우 1
반환값integer
중복을 포함하여 k번째로 큰 값

제약 조건

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • 같은 값도 서로 별개의 값으로 셉니다.

예제

입력
nums = [7, 2, 9, 4, 9, 1]k = 2
출력
9
설명
값을 큰 순서부터 작은 순서로 나열하면 9, 9, 7, 4, 2, 1입니다. 9 두 개는 각각 별도로 계산되므로, 두 번째로 큰 값은 7이 아니라 9입니다.

lock icon제출 시 숨은 테스트 +15개

challenge icon

후속 질문

이제 값이 한 번에 하나씩 들어옵니다. 각 값이 들어올 때마다 지금까지 본 모든 값의 중앙값을 값당 O(log n) 시간에 구할 수 있나요?

코드 초기화
def findKthLargest(nums, k):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

nums = [7, 2, 9, 4, 9, 1]
k = 2

기대값

9