본문 바로가기

Baekjoon

[Java] 백준 10845번 : 큐

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

 

10845번: 큐

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

[코드]

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


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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        StringBuilder sb =  new StringBuilder();
        Deque<Integer> q = new LinkedList<>();

        while (N --> 0){

            String[] str = br.readLine().split(" ");

            switch (str[0]){
                case "push":{
                    q.offer(Integer.parseInt(str[1]));
                    break;
                }
                case "pop":{
                    if(q.isEmpty()){
                        sb.append(-1).append("\n");
                    }else {
                        sb.append(q.poll()).append("\n");
                    }
                    break;
                }
                case "size":{
                    sb.append(q.size()).append("\n");
                    break;
                }
                case "empty":{
                    if(q.isEmpty()){
                        sb.append(1).append("\n");
                    }
                    else {
                        sb.append(0).append("\n");
                    }
                    break;

                }
                case "front": {
                    if(q.isEmpty()){
                        sb.append(-1).append("\n");
                    }else {
                        sb.append(q.peek()).append("\n");
                    }
                    break;
                }
                case "back" : {
                    if(q.isEmpty()){
                        sb.append(-1).append("\n");
                    }else {
                        sb.append(q.peekLast()).append("\n");
                    }
                    break;

                }
            }
        }

        System.out.print(sb);
    }
}

'Baekjoon' 카테고리의 다른 글

[Java] 백준 10828번 : 스택  (0) 2022.01.14
[Java] 백준 9012번 : 괄호  (0) 2022.01.14
[Java] 백준 10866번 : 덱  (0) 2022.01.12
[Java] 백준 1966번 : 프린터 큐  (0) 2022.01.12
[Java] 백준 7568번 : 덩치  (0) 2022.01.10