[백준] 10828번: 스택 _JAVA

아로롱·2024년 12월 4일

algorithm

목록 보기
9/25

📍 문제

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

답안 코드


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

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringBuilder sb = new StringBuilder();

        Stack<Integer> stack = new Stack<>();
        int N = Integer.parseInt(br.readLine());
        for(int i = 0; i < N; i++){
            String s = br.readLine();
            if(s.charAt(1) == 'u'){
                StringTokenizer str = new StringTokenizer(s);
                str.nextToken();
                int num = Integer.parseInt(str.nextToken());
                stack.push(num);
                continue;
            }
            else if(s.equals("pop")){
                if(stack.empty()){
                    sb.append(-1);
                }
                else sb.append(stack.pop());
            }
            else if(s.equals("size")){
                sb.append(stack.size());
            }
            else if(s.equals("empty")){
                if(stack.empty()){
                    sb.append(1);
                }
                else sb.append(0);
            }
            else if(s.equals("top")){
                if(stack.empty()){
                    sb.append(-1);
                }
                else sb.append(stack.peek());
            }
            sb.append("\n");
        }

        bw.write(sb.toString());
        bw.flush();
        bw.close();
        br.close();
    }
}

노가다로 푼 문제 . . ^ ^ V

profile
Dilige, et fac quod vis

0개의 댓글