학부생 때 배웠던 스택
자료구조 이론을 토대로 스택 배열 생성, push
, pop
연산 등을 구현해보는 문제였다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int num = sc.nextInt();
int top = -1; int[] stack = new int[num];
for (int i=0; i<num; i++){ String input = sc.next(); if (input.equals("push")){ stack[++top] = sc.nextInt(); } else if (input.equals("pop")) { if (top == -1) { System.out.println(-1); } else { System.out.println(stack[top]); top--; } } else if (input.equals("size")) { System.out.println(top+1); } else if (input.equals("empty")) { if (top == -1){ System.out.println(1); } else { System.out.println(0); } } else if (input.equals("top")){ if (top == -1) { System.out.println(-1); } else { System.out.println(stack[top]); } } } } }
|