[백준/JAVA] 27278번 스택 2

정은아·2024년 2월 7일
post-thumbnail

내 풀이

import java.util.Scanner;
import java.util.Stack;

public class Main {
    public static void main(String[] args) throws Exception {

        // 명령대로 스택 구현하기

        // 명령대로 구현하기

        Scanner sc = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();

        int num = sc.nextInt();
        Stack<Integer> stack = new Stack<>();

        for (int i = 0; i < num; i++) {
            int order = sc.nextInt();

            if (order == 1) {
                stack.add(sc.nextInt());
            } else if (order == 2 && stack.isEmpty()) {
                sb.append(-1);
                sb.append("\n");
            } else if (order == 2) {
                sb.append(stack.pop());
                sb.append("\n");
            } else if (order == 3) {
                sb.append(stack.size());
                sb.append("\n");
            } else if (order == 4) {
                if (stack.isEmpty()) {
                    sb.append(1);
                    sb.append("\n");
                } else {
                    sb.append(0);
                    sb.append("\n");
                }
            } else if (order == 5) {
                if (stack.size() >= 1) {
                    sb.append(stack.peek());
                    sb.append("\n");
                } else {
                    sb.append(-1);
                    sb.append("\n");
                }
            }
        }

        System.out.println(sb.toString());
    }
}

느낀점

단순히 명령에 따라 구현하면 되는 구현 문제였다.
문제가 어려워 보여서 당황했는데, 천천히 푸니까 정답이었다!
기분좋아~~

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글