728x90
import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Queue;
class Solution {
public static int solution(int[] priorities, int location) {
int answer = 1;
Queue<Printer> q = new LinkedList<>();
PriorityQueue<Printer> pq = new PriorityQueue<>();
for (int i = 0; i < priorities.length; i++)
{
Printer pt = new Printer(i,priorities[i]);
pq.add(pt);
q.add(pt);
}
while(!q.isEmpty()){
Printer nowPt = q.poll();
if (pq.peek().value == nowPt.value) {
pq.poll();
if(nowPt.idx==location){
break;
}
answer++;
}
else{
q.add(nowPt);
}
}
return answer;
}
}
class Printer implements Comparable<Printer>{
int idx;
int value;
public Printer(int idx, int value) {
this.idx = idx;
this.value = value;
}
@Override
public int compareTo(Printer o) {
return -(this.value - o.value);
}
}
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 전화번호 목록 (자바) (0) | 2021.09.29 |
---|---|
프로그래머스 튜플 (자바) (0) | 2021.09.29 |
행렬 테두리 회전 (자바) (0) | 2021.09.23 |
5주차 모음사전 (자바) (0) | 2021.09.14 |
뉴스 클러스터링 (자바) (0) | 2021.09.12 |