반응형
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(); // 선입선출의 맨앞 추출

반응형

+ Recent posts