백준 10845번(Java)

박은지·2025년 2월 17일
0

백준

목록 보기
32/89
post-thumbnail

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();
		Queue<Integer> queue = new LinkedList<>();
		int last = 0;

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

		for (int i = 0; i < N; i++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			String s = st.nextToken();

			switch (s) {
			case "push":
				last = Integer.parseInt(st.nextToken()); // 마지막에 넣은 값을 미리 기억
				queue.offer(last);
				break;
			case "pop":
				if (queue.isEmpty())
					sb.append(-1).append('\n');
				else
					sb.append(queue.poll()).append('\n');
				break;
			case "size":
				sb.append(queue.size()).append('\n');
				break;
			case "empty":
				if (queue.isEmpty())
					sb.append(1).append('\n');
				else
					sb.append(0).append('\n');
				break;
			case "front":
				if (queue.isEmpty())
					sb.append(-1).append('\n');
				else
					sb.append(queue.peek()).append('\n');
				break;
			case "back":
				if (queue.isEmpty())
					sb.append(-1).append('\n');
				else
					sb.append(last).append('\n');
				break;
			}
		}
		System.out.println(sb);
	}
}
profile
백엔드 개발자가 되고싶은 eunzi😊

0개의 댓글