백준-10828

https://www.acmicpc.net/problem/10828

#10828: 스택

첫 번째 줄에 지정된 명령의 수 N(1 ≤ N ≤ 10,000)이 주어집니다. 두 번째 줄부터 N개의 줄은 각각 명령을 받습니다. 지정된 정수는 1보다 크거나 같고 100,000보다 작거나 같습니다. 문제에 있다

www.acmicpc.net

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String() args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(reader.readLine());
        List stack = new LinkedList<String>();

        for (int start = 0; start < N; start++) {
            String() X = reader.readLine().split(" ");
            String comm = X(0);

            if (comm.equals("push")) {
                stack.add(X(1));
            } else if (comm.equals("pop")) {
                System.out.println(stack.size() != 0 ? String.valueOf(stack.remove(stack.size() - 1)) : -1);
            } else if (comm.equals("size")) {
                System.out.println(stack.size());
            } else if (comm.equals("empty")) {
                System.out.println(stack.size() != 0 ? 0 : 1);
            } else if (comm.equals("top")) {
                System.out.println(stack.size() != 0 ? stack.get(stack.size() - 1) : -1);
            }
        }
    }
}