

자료구조 중 LIFO구조인 스택의 기본적인 동작들을 구현하는 문제로 Stack 클래스를 사용하면 쉽게 풀 수 있는 문제였다.
자료구조 중 하나인 Stack은 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 자료 구조라고 할 수 있다.
Stack<Integer> s = new Stack<>();s.push(i); // 스택의 값 넣기
s.pop(); // 스택의 가장 위의 값 빼고 출력하기
s.size(); // 스택의 크기
s.peek(); // 스택의 가장 위의 값 조회
package data_structure;
import java.util.*;
public class stack1 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Stack<Integer> stack = new Stack<>();
		Scanner in = new Scanner(System.in);
		
		int n = in.nextInt();
		
		for(int i = 0; i<n; i++) {
			String str = in.next();
			
			switch(str) {
			
			case "push":
				int item = in.nextInt();
				stack.push(item);
				break;
			case "pop":
				System.out.println(stack.isEmpty() ? -1 : stack.pop());
				break;
			case "size":
				System.out.println(stack.size());
				break;
			case "empty":
				System.out.println(stack.isEmpty() ? 1 : 0);
				break;
			case "top":
				System.out.println(stack.isEmpty() ? -1 : stack.peek());
				break;
			}
		}
	}
}