Hayden's Archive
[알고리즘] 백준 - 10828번 : 스택 본문
알고리즘 문제 출처 : https://www.acmicpc.net/problem/10828
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 �
www.acmicpc.net
내가 작성한 코드
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for(int i=0; i<num; i++) {
String cmd = sc.next();
if(cmd.equals("push")) {
int n = sc.nextInt();
stack.push(n);
}//push
else if(cmd.equals("pop")) {
if(stack.isEmpty()) {
System.out.println(-1);
}else {
System.out.println(stack.pop());
}
}//pop
else if(cmd.equals("size")) {
System.out.println(stack.size());
}//size
else if(cmd.equals("empty")) {
if(stack.isEmpty()) {
System.out.println(1);
}else {
System.out.println(0);
}
}//empty
else if(cmd.equals("top")) {
if(stack.isEmpty()) {
System.out.println(-1);
}else {
System.out.println(stack.lastElement());
}
}//top
}//for문
}
}