반응형
자료구조 중 Stack 문제로 문제를 잘 읽고 이해만 한다면 쉽게 풀 수 있는 문제입니다.
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringTokenizer st;
Stack<Integer> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < N; i++) {
String order = br.readLine();
st = new StringTokenizer(order);
switch (st.nextToken()) {
case "1":
stack.add(Integer.parseInt(st.nextToken()));
break;
case "2":
if (stack.isEmpty()) {
sb.append(-1).append("\n");
} else {;
sb.append(stack.pop()).append("\n");
} break;
case "3":
sb.append(stack.size()).append("\n");
break;
case "4":
if (stack.isEmpty()) {
sb.append(1).append("\n");
} else {
sb.append(0).append("\n");
} break;
case "5":
if (stack.isEmpty()) {
sb.append(-1).append("\n");
} else {
sb.append(stack.peek()).append("\n");
} break;
}
}
System.out.println(sb);
}
}
반응형
'백준 > Data Structures' 카테고리의 다른 글
백준 10866 자바 (0) | 2022.08.26 |
---|---|
백준 17608 자바 (0) | 2022.08.23 |
백준 2161 자바 (0) | 2022.08.22 |
백준 4949 자바 (0) | 2022.08.22 |
백준 9012 자바 (0) | 2022.08.22 |