[Java] 백준 - 10828번 : 스택 (Silver IV)

배똥회장·2022년 8월 22일
0
post-custom-banner

📝 문제

백준 - 10828번 : 스택 (Silver IV)


📝 풀이

📌 작성 코드

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));
		
		//명령 수
		int t = Integer.parseInt(br.readLine());
		//스택을 구현할 ArrayList
		ArrayList<String> stack = new ArrayList<>();
		
		//명령 수 만큼 반복
		for (int i = 0; i < t; i++) {
			//push를 위해 String배열로 입력값 가져오기
			String[] code = br.readLine().split(" ");
			
			//이외에는 문제의 설명대로 push, pop, top, size, empty의 경우에 맞게 출력값 작성하기
			if (code[0].equals("push")) {
				stack.add(code[1]);
			} else {
				if (code[0].equals("pop")) {
					bw.write((stack.size() == 0 ? "-1" : stack.get(stack.size()-1)));
					if (stack.size() > 0) stack.remove(stack.size()-1);
				} else if (code[0].equals("size")) {
					bw.write(Integer.toString(stack.size()));
				} else if (code[0].equals("empty")) {
					bw.write(stack.size() == 0 ? "1" : "0");
				} else {
					bw.write((stack.size() == 0 ? "-1" : stack.get(stack.size()-1)));
				}
				bw.write("\n");
			}
		}
		bw.flush();
		bw.close();
	}
}

📌 결과


profile
어쩌면 개발자
post-custom-banner

0개의 댓글