코딩테스트
[프로그래머스] 프린터
gajy
2022. 4. 27. 16:50
728x90
https://programmers.co.kr/learn/courses/30/lessons/42587?language=java
[아이디어]
배열을 정렬하고, queue에는 순서 그대로 넣는다.
location 아이템을 queue에 두고 팔로잉한다고 생각한다.
-> queue가 pop되거나, location 아이템이 queue 맨 뒤로 옮겨질 때 -1을 해준다.
import java.util.*;
class Solution {
public int solution(int[] priorities, int location) {
int answer = 0;
int l = location;
Queue<Integer> priorityQueue = new LinkedList<>();
for(int p : priorities) {
priorityQueue.add(p);
}
Arrays.sort(priorities);
int val = 0;
while(!priorityQueue.isEmpty()) {
val = priorityQueue.poll();
if(val == priorities[priorities.length -1 - answer]) {
answer++;
l--;
if(l < 0) {
break;
}
}else {
priorityQueue.add(val);
l--;
if(l < 0) {
l = priorityQueue.size()-1;
}
}
}
return answer;
}
}
728x90