• Home

My Codegate

  • Home

백준 10828 스택 자바 문제풀이

2023/12/18 Posted by Codegate Java No Comments
백준 10828 스택 문제풀이

문제 링크

문제 내용은 스택에 push, pop, size, empty, top 기능을 구현해줘야 하는데 뭔가 어려워 보이지만 딱히 어려울 것이 없다

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;

public class Main {

  public static Stack<Integer> stack = new Stack<>();

  public static void OrderProcess(String s) {

    String[] split = s.split(" ");
    if (split[0].equals("push")) {
      stack.push(Integer.parseInt(split[1]));
    } else if (split[0].equals("pop")) {
      if (stack.empty()) {
        System.out.println(-1);
      } else {
        System.out.println(stack.pop());
      }
    } else if (split[0].equals("size")) {
      System.out.println(stack.size());
    } else if (split[0].equals("empty")) {
      if (stack.empty()) {
        System.out.println(1);
      } else {
        System.out.println(0);
      }
    } else if (split[0].equals("top")) {
      if (stack.empty()) {
        System.out.println(-1);
      } else {
        System.out.println(stack.peek());
      }
    }
  }

  public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int count = Integer.parseInt(br.readLine());
    for (int i = 0; i < count; i++) {
      OrderProcess(br.readLine());
    }
  }

}

먼저 클래스 하단에 public static stack을 생성해서 어디서나 참조할 수 있도록 한 뒤, 메인 메소드에서는 받은 명령어만 프로세스 메소드에 넣어주면 되는데, 들어온 텍스트를 split으로 처리하면 push의 경우에만 숫자까지 같이 들어오고 나머지는 분리된 값 없이 문자열만 들어오지만 문제 없이 처리 가능하고

나머지는 전반적으로 stack의 기능을 알고 있으면 출력부만 주의해서 구현해주면 되겠다.

No Comments
0

Leave a Reply Cancel Reply

Introduction

My Codegate

Latest Posts

  • Google Search Console API 연동방법
  • 인텔리제이 Gradle Dependency 최신 버전 보는 방법
  • Wallet-Tracker 개발일지
  • Moralis API 자바로 호출방법
  • IntelliJ Commit 후 Push 따로 하는 방법

Categories

  • My Project (4)
  • Java (42)
  • Algorithm (161)
    • Java (152)
    • Algorithm Knowledge (3)
    • Algorithm site usage (6)
  • Vue.js (1)
  • Spring (4)
  • Docker (2)
  • IntelliJ (20)
  • Uncategorized (7)

Recent Comments

  • Codegate on Hello world!
  • A WordPress Commenter on Hello world!

© 2025 — mycodegate.com

Prev Next