https://programmers.co.kr/learn/courses/30/lessons/42587
코딩테스트 연습 - 프린터
일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린
programmers.co.kr
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.*;
class Solution {
public int solution(int[] priorities, int location) {
int answer = 0;
PriorityQueue<Integer> pq = new PriorityQueue<Integer>(Collections.reverseOrder());
//우선순위가 높은 숫자순으로 정렬(reverseOrder)
//정렬
for(int pri : priorities) {
pq.add(pri);
System.out.println(pq);
}
while(pq.size() != 0) {
for(int i = 0; i < priorities.length; i++) {
if(pq.peek() == priorities[i]) { //맨 앞에있는수 빼버리기(null인지 확인)
//System.out.println(priorities[i]);
//System.out.println(pq);
pq.poll();
answer++;
//System.out.println(pq);
if(location == i) {
//System.out.println(pq);
pq.clear();
//System.out.println(pq);
break;
}
}
}
}
return answer;
}
}
반응형
'알고리즘' 카테고리의 다른 글
[Java] 다리를 지나는 트럭 - level 1 (0) | 2021.06.08 |
---|---|
[Java] 기능개발 - level 2 (1) | 2021.06.08 |
[Javascript] 큰 수 만들기 - level 2 (0) | 2021.06.08 |
[Python] 순위 검색 - level 2 (효율성 통과 못함) (0) | 2021.06.08 |
[Python] 타겟 넘버 - level 2 (0) | 2021.06.07 |