📝 문제
백준 - 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();
}
}
📌 결과