Algorithm/Programmers
Programmers - 프린터
HaningYa
2020. 5. 15. 17:39
728x90
코딩테스트 연습 - 프린터
일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린��
programmers.co.kr
우선순위 큐
[JAVA] 우선순위(PriorityQueue) 큐
1. 개요 일반적으로 Queue라는 자료구조는 '선입선출'(First-In, First-Out)의 대기열 규칙(queuing discipline)을 가지고 있다. 말그대로 먼저들어온 놈이 먼저 나간다는 것이다. 하지만 JAVA에서 제공하는 '...
asuraiv.blogspot.com
코드
import java.util.*;
class Solution {
public int solution(int[] priorities, int location) {
int answer = 0;
PriorityQueue < Job > pq = new PriorityQueue();
for (int i = 0; i < priorities.length; i++) {
Job job = new Job();
job.num = i;
job.weight = priorities[i];
pq.offer(job);
}
while (!pq.isEmpty()) {
for (int i = 0; i < priorities.length; i++) {
if (pq.peek().weight == priorities[i]) {
pq.poll();
answer++;
if (location == i) {
return answer;
}
}
}
}
return answer;
}
}
class Job implements Comparable < Job > {
int num;
int weight;
@Override
public int compareTo(Job target) {
//오름차순 정렬
if (this.weight > target.weight) {
return -1;
} else if (this.weight < target.weight) {
return 1;
}
return 0;
}
}
728x90