코딩테스트/자바 문제풀이

[CLASS 2: 자료구조] 백준 10845 큐

승요나라 2024. 10. 17. 22:26

10845번: 큐

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

 

# 코드

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int n = Integer.parseInt(br.readLine());
        ArrayDeque<Integer> q = new ArrayDeque<>(); // 큐로 사용할 ArrayDeque
        StringTokenizer st;
        for (int i = 0; i < n; i++) {
            st = new StringTokenizer(br.readLine(), " ");
            String order = st.nextToken();
            switch (order) {
                case "push":
                    int x = Integer.parseInt(st.nextToken());
                    q.addLast(x);
                    break;
                case "pop":
                    if (q.isEmpty()) {
                        sb.append(-1).append("\n");
                    } else {
                        sb.append(q.removeFirst()).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.getFirst()).append("\n");
                    }
                    break;
                case "back":
                    if (q.isEmpty()) {
                        sb.append(-1).append("\n");
                    } else {
                        sb.append(q.getLast()).append("\n");
                    }
                    break;
            }
        }
        System.out.println(sb);
        br.close();
    }
}
  • 이전에 덱 문제를 풀어본 적이 있어 동일하게 ArrayDeque로 어렵지않게 푼 문제였다.

 

👇🏻 덱 문제풀이는 👇🏻

 

[자료구조] 백준 10866 덱

10866번: 덱https://www.acmicpc.net/problem/10866 # 코드import java.io.*;import java.util.ArrayDeque;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { // 빠른 입출력을 위한 Buffered

seung-yo.tistory.com