[백준] 28278번: 스택 2 (JAVA)

2023. 8. 11. 10:45·Skills/Algorithm
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;

// https://www.acmicpc.net/problem/28278
public class Main {

	public static void main(String[] args) throws IOException {
		// 입력 시간 줄여주기
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(bf.readLine());
		ArrayDeque<Integer> stack = new ArrayDeque<>();
		StringBuilder sb = new StringBuilder(); // 출력의 시간을 줄이기 위해 한 번에 출력
//		System.out.println("N : " + N);
		for (int i = 0; i < N; i++) {
			String[] command = bf.readLine().split(" ");
//			System.out.println(command[0]);
			switch (command[0]) {
			case "1": // push
//					System.out.println("PUSH");
				int X = Integer.parseInt(command[1]);
				// queue.add(X);
				stack.push(X);
				break;
			case "2": // pop
//					System.out.println("POP");
				// if (stack.size() == 0) {
				if (stack.isEmpty()) {
					sb.append(-1).append("\n");
				} else {
//						sb.append(queue.poll()).append("\n");
					sb.append(stack.pop()).append("\n"); // **
				}
				break;
			case "3": // size
//					System.out.println("SIZE");
				sb.append(stack.size()).append("\n");
				break;
			case "4": // empty
//					System.out.println("EMPTY");
				if (stack.isEmpty()) {
					sb.append(1).append("\n");
				} else {
					sb.append(0).append("\n");
				}
				// sb.append(stack.isEmpty() ? 1 : 0).append("\n");
				break;
			case "5": // peek
//					System.out.println("PEEK");
				if (stack.isEmpty()) {
					sb.append(-1).append("\n");
				} else {
					sb.append(stack.peek()).append("\n");
				}
				break;
			}
		}
		System.out.print(sb);
	}
}

'Skills > Algorithm' 카테고리의 다른 글

[백준] 2161번: 카드1 (JAVA)  (0) 2023.08.11
[프로그래머스] 64061번: 크레인 인형뽑기 게임 (JAVA)  (0) 2023.08.11
알고리즘 Java 스택  (0) 2023.08.11
[백준] 1158번: 요세푸스 문제 (JAVA)  (0) 2023.08.11
[백준] 18258번: 큐 2 (JAVA)  (0) 2023.08.11
'Skills/Algorithm' 카테고리의 다른 글
  • [백준] 2161번: 카드1 (JAVA)
  • [프로그래머스] 64061번: 크레인 인형뽑기 게임 (JAVA)
  • 알고리즘 Java 스택
  • [백준] 1158번: 요세푸스 문제 (JAVA)
개발자 윤구나
개발자 윤구나
개발 공부를 하고 있습니다. Let's go!
  • 개발자 윤구나
    이것은 무엇?????
    개발자 윤구나
    • 분류 전체보기
      • Skills
        • Java
        • Database
        • Flutter, Dart
        • JavaScript
        • React
        • HTML5
        • CSS3, SCSS
        • PHP
        • C#
        • Unity
        • Algorithm
        • GIT·GitHub
        • 그 외
      • Book Review
      • IT NEWS
      • 설계
      • 자기 계발
  • 블로그 메뉴

    • 홈
    • 방명록
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.3
개발자 윤구나
[백준] 28278번: 스택 2 (JAVA)
상단으로

티스토리툴바