https://www.acmicpc.net/problem/10828
코드설명
스택, 자료구조 문제입니다.
stack의 함수들을 사용하여 문제에서 주어진대로 구현하면 되는 문제입니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main {
public static int N;
public static Stack<Integer> stack = new Stack<>();
public static int answer = 0;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
for(int i=0;i<N;i++) {
st = new StringTokenizer(br.readLine());
String command = st.nextToken();
if(command.equals("push")) {
int x = Integer.parseInt(st.nextToken());
stack.add(x);
}
else if(command.equals("top")) {
if(stack.isEmpty()) {
System.out.println("-1");
}else {
System.out.println(stack.peek());
}
}
else if(command.equals("size")) {
System.out.println(stack.size());
}
else if(command.equals("empty")) {
if(stack.isEmpty()) {
System.out.println(1);
}else {
System.out.println(0);
}
}
else if(command.equals("pop")) {
if(stack.isEmpty()) {
System.out.println("-1");
}else {
System.out.println(stack.pop());
}
}
}
}
public static void printstack() {
for(int a : stack) {
System.out.print(" "+ a);
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 18258 큐 2 - 큐 + 자료구조 JAVA (0) | 2023.09.02 |
---|---|
[백준] 9012 괄호 - 스택 + 자료구조 JAVA (0) | 2023.09.02 |
[백준] 12851 숨바꼭질 2 - BFS JAVA (0) | 2023.09.01 |
[백준] 17070 파이프 옮기기 1 - DP + DFS + BFS JAVA (0) | 2023.09.01 |
[백준] 15666 N과 M (12) - 백트래킹 JAVA (0) | 2023.08.31 |