본문 바로가기

백준

[JAVA] 백준 10845번: 큐

 


문제

  • 정수를 저장하는 큐를 구현한 다음, 주어지는 명령을 처리하는 문제.

 

아이디어

  • ArrayDeque를 이용해 큐를 구현한다.
  • 주어지는 명령을 그대로 구현한다.

 

풀이

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

public class Main {
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st;

        int N = Integer.parseInt(br.readLine());
        Deque<Integer> queue = new ArrayDeque<>();

        for(int i=0; i<N; i++) {
            st = new StringTokenizer(br.readLine());
            String command = st.nextToken();
            
            // push 연산
            if(command.equals("push")) {
                queue.addLast(Integer.parseInt(st.nextToken()));
            }
            
            // pop 연산
            else if(command.equals("pop")) {
                sb.append(queue.isEmpty() ? -1 : queue.removeFirst()).append('\n');;
            }
            
            // size 연산
            else if(command.equals("size")) {
                sb.append(queue.size()).append('\n');;
            }
            
            // empty 연산
            else if(command.equals("empty")) {
                sb.append(queue.isEmpty() ? 1 : 0).append('\n');;
            }
            
            // front 연산
            else if (command.equals("front")) {
                sb.append(queue.isEmpty() ? -1 : queue.peekFirst()).append('\n');;
            }
            
            // empty 연산
            else {
                sb.append(queue.isEmpty() ? -1 : queue.peekLast()).append('\n');;
            }
        }

        System.out.println(sb);
    }
}

 

 

채점 결과

10845번 채점 결과

 

문제 링크

'백준' 카테고리의 다른 글

[JAVA] 백준 1929번: 소수 구하기  (0) 2024.07.21
[JAVA] 백준 18110번: solved.ac  (0) 2024.07.21
[JAVA] 백준 10828번: 스택  (0) 2024.07.20
[JAVA] 백준 10816번: 숫자 카드 2  (0) 2024.07.20
[JAVA] 백준 10773번: 제로  (1) 2024.07.19