[백준] 10828 - 스택

zzenee·2022년 5월 20일
0

Algorithm&Coding-test

목록 보기
14/30
post-thumbnail

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

Problem

Code

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
import java.io.IOException;

class Main {
	static int n; 
	static Stack<Integer> stack;


  	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		n = Integer.parseInt(br.readLine());
		stack = new Stack<>();
		for (int i=0; i<n; i++) {
			StringTokenizer tmp = new StringTokenizer(br.readLine());
			String target = tmp.nextToken();
			if (target.equals("push")) {
				stack.push(Integer.parseInt(tmp.nextToken()));
			}
			else if (target.equals("pop")) {
				if (stack.isEmpty()) System.out.println(-1);
				else System.out.println(stack.pop());
			} 
			else if (target.equals("size")) System.out.println(stack.size());
			else if (target.equals("empty")) {
				if (stack.isEmpty()) System.out.println(1);
				else System.out.println(0);
			}
			else if (target.equals("top")) {
				if (stack.isEmpty()) System.out.println(-1);
				else System.out.println(stack.peek());
			}
		}
  	}
}

Result

Note

Scanner로 입력받으니 시간초과 -> BufferedReader 사용

profile
꾸준히

0개의 댓글