-
백준 10828 스택 | 자바 java | BufferedReader BufferedWriter[백준 알고리즘]/[자바 Java] 2024. 1. 12. 23:21728x90반응형
이번 포스팅은 백준 10828번 스택입니다.
아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.
https://www.acmicpc.net/problem/10828
기본 알고리즘
- 구현
- 자료구조
- 스택
반응형풀이
스택 자료구조를 배열을 사용해서 구현함.
Scanner와 System.out.println() 사용시 시간 초과 발생함.
BufferedReader, BufferedWriter 사용함.
//BufferedWriter로 int형 변수 출력 bw.write(String.valueOf(999));
전체 코드
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970import java.io.*;import java.util.StringTokenizer;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));String num = br.readLine();int n = 0;n = Integer.parseInt(num);int stack[] = new int[n];int size=0;String order = "";StringTokenizer st;String output="";for(int i=0; i<n; i++){order = br.readLine();st = new StringTokenizer(order);output="";switch (st.nextToken()) {case "push":stack[size]=Integer.parseInt(st.nextToken());size++;break;case "pop":if(size==0){output = String.valueOf(-1);} else {output = String.valueOf(stack[size-1]);size--;}break;case "size":output = String.valueOf(size);break;case "empty":if(size==0){output=String.valueOf(1);} else{output=String.valueOf(0);}break;case "top":if(size==0){output = String.valueOf(-1);} else {output = String.valueOf(stack[size-1]);}break;default:break;}if(output.length()>0){bw.write(output);bw.newLine();bw.flush();}}bw.flush();bw.close();}}cs 728x90반응형'[백준 알고리즘] > [자바 Java]' 카테고리의 다른 글
백준 10866 덱 | 자바 java | BufferedReader BufferedWriter (0) 2024.01.18 백준 10845 큐 | 자바 java | BufferedReader BufferedWriter (0) 2024.01.18 백준 2798 블랙잭 | 자바 java (0) 2024.01.11 백준 11050 이항 계수 1 | 자바 java (0) 2024.01.11 백준 2909 최대공약수와 최소공배수 | 자바 java (1) 2024.01.11