반응형
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // scanner 시간 초과
Stack <Integer> stack = new Stack<>();
int testcase = Integer.parseInt(br.readLine());
for(int i=0; i<testcase; i++) {
String str = br.readLine();
if(str.startsWith("push")){
stack.push(Integer.parseInt(str.split(" ")[1]));
} else if(str.startsWith("pop")) {
System.out.println(stack.size() == 0 ? -1 : stack.pop());
} else if(str.startsWith("size")) {
System.out.println(stack.size());
} else if(str.startsWith("empty")) {
System.out.println(stack.size() == 0 ? 1 : 0);
} else if(str.startsWith("top")) {
System.out.println(stack.size() == 0 ? -1 : stack.peek());
}
}
}
}
기본적인 stack 문제이다.
stack.pop(); // 선입선출의 맨앞 추출 후 삭제
stack.peek(); // 선입선출의 맨앞 추출
반응형