https://www.acmicpc.net/problem/10828
자료구조 중 스택(Stack) 문제를 풀어보았다.
import java.util.Scanner;
import java.util.Stack;
public class stack {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int len = sc.nextInt();
func(len);
}
public static void func(int len) {
Scanner sc = new Scanner(System.in);
Stack<Integer> stack = new Stack<Integer>();
String command = "";
for (int i = 0; i < len; i++) {
command = sc.nextLine();
String[] commands = command.split(" ");
switch (commands[0]) {
case "push":
stack.push(Integer.parseInt(commands[1]));
break;
case "pop":
if (stack.isEmpty()) {
System.out.println(-1);
} else {
System.out.println(stack.peek());
stack.pop();
}
break;
case "size":
int size = stack.size();
System.out.println(size);
break;
case "empty":
if (stack.isEmpty()) {
System.out.println(1);
} else {
System.out.println(0);
}
break;
case "top":
System.out.println(stack.peek());
break;
default:
break;
}
}
}
}
'Coding Test > Baekjoon' 카테고리의 다른 글
[DK]백준 - 열 개씩 끊어 출력하기(11721) - C++ (0) | 2021.07.14 |
---|---|
[DK]백준 - 숫자의 개수(2577) - C++ (0) | 2021.07.12 |
[ST]백준 - 정열적인 정렬(16212) - Java (0) | 2021.07.07 |
[DK]백준 - 최소비용 구하기(1916) - Python (0) | 2021.07.02 |
[DK]백준 - 최단경로(1753) - Python (0) | 2021.07.01 |