[프로그래머스] 스택/큐 - 프린터(자바)

Rena·2022년 4월 4일
0

알고리즘 문제풀이

목록 보기
23/45
import java.util.LinkedList;
import java.util.Queue;

class Solution {
    class Task{
        int location;
        int priority;
        public Task(int location, int priority) {
            this.location = location;
            this.priority = priority;
        }

    }

    public int solution(int[] priorities, int location) {
        int answer = 0;

        Queue<Task> queue = new LinkedList<>();
        
        for(int i=0; i< priorities.length; i++) {
            queue.add(new Task(i, priorities[i]));
        }
        int now = 0;
        while(!queue.isEmpty()){
            Task cur = queue.poll();
            boolean flag = false;
            for(Task t : queue) {
                if(t.priority>cur.priority) {
                    flag = true;
                }
            }
            if(flag) {
                queue.add(cur);
            }else {
                now++;
                if(cur.location == location) {
                    answer = now;
                    break;
                }
            }
        }
        return answer;
    }
}
profile
일을 사랑하고 싶은 개발자

0개의 댓글