๐ ์ฝ๋ฉํ
์คํธ/๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ๋ช ์์ ์ ๋น(1) ( *์ฐ์ ์์ ํ )
deep_lee
2023. 3. 6. 18:09
https://school.programmers.co.kr/learn/courses/30/lessons/138477
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ํ๋ฆฐ๋ค.
Queue์ score๋ฅผ ํ๋์ฉ ๋ฃ์ผ๋ฉด์, Queue์ size๊ฐ k๋ฅผ ๋์ด๊ฐ๋๋ถํฐ๋ง ์ญ์ ์ฃผ๋ฉด์ ์ฒซ ๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
import java.util.*;
class Solution {
public int[] solution(int k, int[] score) {
int[] answer = new int[score.length];
PriorityQueue<Integer> Q = new PriorityQueue<>();
for(int i=0; i<score.length; i++){
Q.add(score[i]);
if(Q.size()>k){
Q.remove();
}
answer[i]=Q.peek();
}
return answer;
}
}