반응형
package excercise;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;
public class 프린터 {
public static void main(String[] args) {
}
static class PQ {
int seq;
int pri;
public PQ(int seq, int pri) {
super();
this.seq = seq;
this.pri = pri;
}
}
public int solution(int[] priorities, int location) {
Queue<PQ> pq = new LinkedList<PQ>();
for (int i = 0; i < priorities.length; i++) {
pq.add(new PQ(i, priorities[i]));
}
int l = 1;
while (!pq.isEmpty()) {
PQ cur = pq.poll();
if (check(cur.pri, pq)) {
pq.add(cur);
} else {
if (cur.seq == location) {
return l;
}
l++;
}
}
return -1;
}
private boolean check(int pri, Queue<PQ> pq) {
for (Iterator<PQ> it = pq.iterator(); it.hasNext();) {
if (pri < it.next().pri)
return true;
}
return false;
}
}
반응형
'ProgramSoliving' 카테고리의 다른 글
프로그래머스 : 이중우선순위큐 (0) | 2020.12.18 |
---|---|
프로그래머스 : 디스크컨트롤러 (0) | 2020.12.18 |
프로그래머스 : 더맵게 (0) | 2020.12.17 |
프로그래머스 : 다리를 지나는 트럭 (0) | 2020.12.12 |
프로그래머스 : 기능개발 (0) | 2020.12.12 |