PROGRAMMERS_Lv2_νλ¦°ν°
π [Lv2_42587] νλ¦°ν°
import java.util.*;
class Solution {
public int solution(int[] priorities, int location) {
int answer = 0;
// μ°μ μμ ν μ μΈ ( λ΄λ¦Όμ°¨μ )
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
// μ°μ μμ νμ λ°°μ΄κ° λ£κΈ°
for(int i=0; i<priorities.length; i++){
pq.add(priorities[i]);
}
while(!pq.isEmpty()){
for(int i=0; i<priorities.length;i++){
// λ§μ½ λ² μ΄ κ°μ΄ λ΄λ¦Όμ°¨μ μ λ ¬ν΄λμ κ°κ³Ό κ°μ κ²½μ° ( μ μΌ μ²μμ κ°μ₯ ν° κ²½μ° )
if(priorities[i] == pq.peek()){
// κ·Έ indexκ° locationμ΄λ κ°μ κ²½μ°
if(i == location){
answer++;
return answer;
}
// ν¬μ§λ§ μνλ κ°μ΄ μλλ€
pq.poll();
answer++;
}
}
}
return -1;
}
}
π€ λμ μκ°
μμ¦ λ¬Έμ μ μ°μ μμ νκ° λ§μ΄ λμ€λ κ² κ°λ€.
μ΄ λ¬Έμ λ λ΄λ¦Όμ°¨μ μ λ ¬μ΄λΌ Collections.reverseOrder()
μ μ¬μ©νλ κ²μ΄ ν€ ν¬μΈνΈκ³ Queueμ μ±μ§μ μ΄μ©νλ κ²μ΄ ν¬μΈνΈμ΄λ€.
μ¬μ΄λ― μ½κ² νλ¦¬μ§ μμλ°..γ