PLOD

[백준] 스택(10828) 본문

대외 활동 및 IT 지식/알고리즘 문제 풀이 정리

[백준] 스택(10828)

훌룽이 2026. 2. 22. 13:01

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

✅ 코드

import java.io.*;
import java.util.*;

public class 백준_10828 {
    static int n;
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        Stack<Integer> stack = new Stack();
        n = Integer.parseInt(st.nextToken());

        for(int i = 0; i < n ; i++){
            st = new StringTokenizer(br.readLine());
            String order = st.nextToken();
            if(order.equals("push")){
                int num = Integer.parseInt(st.nextToken());
                stack.push(num);
            }
            else if(order.equals("pop")){
                if(stack.size() == 0){
                    System.out.println("-1");
                }else{
                    int x = stack.pop();
                    System.out.println(x);
                }
            }
            else if(order.equals("size")){
                System.out.println(stack.size());
            }
            else if(order.equals("empty")){
                if(stack.size() == 0){
                    System.out.println("1");
                }else{
                    System.out.println("0");
                }
            }
            else if(order.equals("top")){
                if(stack.size() == 0){
                    System.out.println("-1");
                }else{
                    System.out.println(stack.peek());
                }
            }
        }
        br.close();
    }
}

💡 배운 점 & 느낀 점

  1. Stack<Integer> → Java는 기본적으로 Stack 자료구조를 지원 함
Stack<Integer> stack = new Stack();
  1. stack.push() → 스택 자료구조에 원소를 넣는다 
  2. stack.pop() → 스택 자료구조에 원소를 뺀다(LIFO)
  3. stack.size() → 스택의 사이즈 추출
  4. stack.peek() → 스택의 가장 마지막(꼭대기) 원소를 보여줌
Comments