백준/스택 & 큐

[큐] 백준 10845번 큐 - Java

킴준현 2025. 4. 8. 16:48

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

✅ 문제

🔑 풀이

import java.io.*;
import java.util.*;

// deque 활용
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(br.readLine());
        Deque<Integer> dq = new LinkedList<>();

        while (N-- > 0) {
            String[] cmd = br.readLine().split(" "); // 공백 기준으로 문자열 나눠서 배열에 저장

            switch (cmd[0]) {
                case "push":
                    dq.offerLast(Integer.parseInt(cmd[1])); // 큐에 넣기
                    break;
                case "pop":
                    bw.write(dq.isEmpty() ? "-1\n" : dq.pollFirst() + "\n");
                    break;
                case "size":
                    bw.write(dq.size() + "\n");
                    break;
                case "empty":
                    bw.write(dq.isEmpty() ? "1\n" : "0\n");
                    break;
                case "front":
                    bw.write(dq.isEmpty() ? "-1\n" : dq.peekFirst() + "\n");
                    break;
                case "back":
                    bw.write(dq.isEmpty() ? "-1\n" : dq.peekLast() + "\n");
                    break;

            }
        }

        bw.flush();
    }
}

 

실행 코드

http://boj.kr/4719f4858d8c4d878bcadef97c716d49