프린터
1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다.
2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다.
3. 그렇지 않으면 J를 인쇄합니다.priorities
location
return
Last updated
1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다.
2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다.
3. 그렇지 않으면 J를 인쇄합니다.Last updated
import java.util.*;
class Solution {
public int solution(int[] priorities, int location) {
int answer = 1;
//A B C D
//2 1 3 2
//order by
//B C D A
//C D A B
PriorityQueue<Integer> stack = new PriorityQueue<>(Comparator.reverseOrder());
for (int i : priorities) {
stack.add(i);
}
while(!stack.isEmpty()){
for(int i=0; i<priorities.length; i++){
if(priorities[i] == stack.peek()){
if(location == i){
return answer;
}
answer++;
stack.poll();
}
}
}
return answer;
}
}