Files
2023-01-09 16:16:47 +09:00

48 lines
1.3 KiB
Java

// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/42587
import java.util.*;
class Solution {
public class Print{
public int pos;
public int val;
public Print(){};
public Print(int pos, int val){
this.pos = pos;
this.val = val;
}
public int getPos(){
return pos;
}
public int getVal(){
return val;
}
public String toString(){
return "pos :"+pos+" val :"+val;
}
}
public int solution(int[] priorities, int location) {
int answer = 0;
LinkedList<Print> dq = new LinkedList();
for(int p = 0; p < priorities.length; p++){
dq.addLast(new Print(p,priorities[p]));
}
while(true){
Print temp = dq.peekFirst();
boolean err = false;
for(Print p : dq) {
if(temp.getVal()<p.getVal()) {
dq.addLast(dq.pollFirst());
err = true;
break;
}
}
if(!err){
dq.pollFirst();
answer++;
if(temp.getPos() == location) break;
}
}
return answer;
}
}