알고리즘 - 백준_10828번_스택

jodbsgh·2023년 4월 18일
0

해당 문제는 switch문을 사용하여 풀이할 수 있다.

✅코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        try {
            int n = Integer.parseInt(br.readLine());
            int[] stack = new int[n];
            int top = -1; // 스택의 top을 저장하는 변수

            for (int i = 0; i < n; i++) {
                String[] cmd = br.readLine().split(" ");

                switch (cmd[0]) {
                    case "push":
                        stack[++top] = Integer.parseInt(cmd[1]);
                        break;
                    case "pop":
                        if (top == -1) {
                            System.out.println(-1);
                        } else {
                            System.out.println(stack[top--]);
                        }
                        break;
                    case "size":
                        System.out.println(top + 1);
                        break;
                    case "empty":
                        if (top == -1) {
                            System.out.println(1);
                        } else {
                            System.out.println(0);
                        }
                        break;
                    case "top":
                        if (top == -1) {
                            System.out.println(-1);
                        } else {
                            System.out.println(stack[top]);
                        }
                        break;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글