๋ฌธ์ ํ์
์ ์ ๋ฐฐ์ด nums
๊ฐ ์ฃผ์ด์ง๊ณ k
๊ฐ ์ฃผ์ด์ง๋ค.
k
๋ฒ์งธ๋ก ํฐ ์์๋ฅผ ๋ฐํํ๋ฉด ๋๋ค.
ํ์ด
1๏ธโฃ PriorityQueue๋ฅผ ํ์ฉํ ํ์ด
๐ก ๋ ์ค๋ฅธ Idea
๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ์ฐ์ ์์ํ์ ์์๋ค์ ๋ฃ๊ณ
k๋ฒ์งธ์ ์์๋ฅผ ๋ฐํํ๋ค.
import java.util.*;
class Solution {
public int findKthLargest(int[] nums, int k) {
PriorityQueue<Integer> pq = new PriorityQueue<>((a, b) -> b - a);
for (int num : nums) {
pq.offer(num);
}
int ans = 0;
while (k-- > 0) {
ans = pq.poll();
}
return ans;
}
}
๊ฒฐ๊ณผ
๐ ํ๊ณ
๋๋ฌด ๊ฐ๋จํ๊ฒ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋ค.
ํ์ง๋ง, ์๊ฐ ๋ณต์ก๋๊ฐ ์ฝ๊ฐ ๋๋ฆฐ ํธ์ด๋ผ, ๋ ๋น ๋ฅธ ์๊ฐ์ ํด๊ฒฐํ ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ sort
๋ฅผ ์ด์ฉํ ๋ฐฉ์์ด์๋ค.
๋ฌธ์ ์์ sort
์์ด ํธ๋ ๊ฒ์ ์ํ์ผ๋ฏ๋ก ์ด ๋ฐฉ์์ผ๋ก ํธ๋๊ฒ ๋ง๋ ๊ฒ ๊ฐ๋ค.