본문 바로가기

Baekjoon

[Java] 백준 1966번 : 프린터 큐

https://www.acmicpc.net/problem/1966

 

1966번: 프린터 큐

여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에

www.acmicpc.net

[코드]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.StringTokenizer;

public class Main1966 {

    public static void main(String[] args) throws IOException{


        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st ;

        int T= Integer.parseInt(br.readLine());

        while (T -- >0){

            st = new StringTokenizer(br.readLine(), " ");
            int N = Integer.parseInt(st.nextToken());
            int M = Integer.parseInt(st.nextToken());
            int count = 0;
            LinkedList<int[]> linkedList= new LinkedList<>();
            st = new StringTokenizer(br.readLine()," ");

            for (int i = 0 ; i < N ; i++){
                linkedList.offer(new int[]{i,Integer.parseInt(st.nextToken())});
            }


            while (!linkedList.isEmpty()){

                int[] first =linkedList.poll();
                boolean flag = true;

                for (int i= 0; i< linkedList.size(); i++){

                    if (first[1]<linkedList.get(i)[1]){
                        linkedList.offer(first);

                        for (int j =0 ; j<i; j++){
                            linkedList.offer(linkedList.poll());
                        }

                        flag =false;
                        break;

                    }
                }

               if (flag ==false){
                   continue;
               }

               count ++;
               if (first[0]==M){
                   break;
               }



            }
            sb.append(count).append("\n");
        }

        System.out.print(sb);


    }
}

 

*https://st-lab.tistory.com/201 포스터를 보고 참고하여 작성하였습니다.

'Baekjoon' 카테고리의 다른 글

[Java] 백준 10845번 : 큐  (0) 2022.01.12
[Java] 백준 10866번 : 덱  (0) 2022.01.12
[Java] 백준 7568번 : 덩치  (0) 2022.01.10
[Java] 백준 11866 : 요세푸스 문제 0  (0) 2022.01.10
[Java] 백준 10773번 : 제로  (0) 2022.01.10