문제

문제출처 : Baekjoon

img

풀이

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int num = Integer.parseInt(br.readLine());
        StringTokenizer st = null;

        Stack<Integer> stack = new Stack<>(); //스택선언

        for(int i = 0; i < num; i++){
            st = new StringTokenizer(br.readLine()," ");
            switch (st.nextToken()){
                case "push":
                    stack.push(Integer.parseInt(st.nextToken()));
                    break;
                case "pop":
                    System.out.println(stack.isEmpty()? -1 : stack.pop());
                    break;
                case "size":
                    System.out.println(stack.size());
                    break;
                case "empty":
                    System.out.println(stack.isEmpty()? 1 : 0);
                    break;
                case "top":
                    System.out.println(stack.isEmpty()? -1 : stack.peek());
                    break;
            }
        }
    }
}


회고

  1. 제가 삼항연산자를 쓰는 멋쟁이로 보이시나요? 😎😎😎
  2. 스택관련해서 배운김에 써봤다. 얏호~
  3. StringTokenizer 관련해서도 공부하고 정리해둬야지!