해당 문제는 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();
}
}
}