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);
}
}
}
}