알고리즘/백준 알고리즘(JAVA)
JAVA)10828번 스택 구현하기(ArrayList 사용)
starmk95
2020. 7. 13. 13:53
import java.util.ArrayList;
import java.util.Scanner;
class MyStack {
ArrayList<Integer> stackArray;
int size;
public MyStack() {
stackArray = new ArrayList<Integer>();
size = 0;
}
public void push(int num) {
stackArray.add(num);
size++;
}
public int pop() {
if (size > 0) {
int top = stackArray.get(size - 1);
stackArray.remove(size - 1);
size--;
return top;
} else {
return -1;
}
}
public int size() {
return size;
}
public int empty(){
if (size < 1) {
return 1;
} else {
return 0;
}
}
public int top(){
if (size > 0) {
return stackArray.get(size - 1);
} else {
return -1;
}
}
}
public class Main {
public static void main(String[] args) {
int cnt;
MyStack stack = new MyStack();
Scanner sc = new Scanner(System.in);
cnt = sc.nextInt();
for(int i=0;i<cnt;i++) {
String temp = sc.next();
switch (temp) {
case "push":
int newTop = sc.nextInt();
stack.push(newTop);
break;
case "pop" :
System.out.println(stack.pop());
break;
case "size" :
System.out.println(stack.size());
break;
case "empty" :
System.out.println(stack.empty());
break;
case "top" :
System.out.println(stack.top());
break;
}
}
}
}