반응형
import java.io.*;
import java.util.Arrays;
class MyStack{
int []stack;
int size;
StringBuilder sb;
MyStack(){
stack=new int[100000];
size=0;
sb = new StringBuilder();
}
void sendMethod(String[] strArr){
switch (strArr[0]) {
case "push":
push(strArr[1]);
break;
case "pop":
pop();
break;
case "size":
size();
break;
case "empty":
empty();
break;
case "top":
top();
break;
}
}
void push(String num){
stack[size++]=Integer.parseInt(num);
}
void pop(){
sb.append(size>0?stack[--size]:-1);
sb.append("\n");
}
void size(){
sb.append(size+"\n");
}
void empty(){
sb.append(size>0?0:1);
sb.append("\n");
}
void top(){
sb.append(size>0?stack[size-1]:-1);
sb.append("\n");
}
@Override
public String toString() {
return sb.toString();
}
}
public class Main {
public static void main(String[] args) throws Exception{
int N=0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
MyStack myStack=new MyStack();
for(int i=0;i<N;i++){
String[]strArr=br.readLine().split(" ");
myStack.sendMethod(strArr);
}
System.out.println(myStack.toString());
}
public static void stackMethod(String [] strArr){
}
}
스택을 이용하여 풀이 할 수 있었으나 문제의 의도가 스택을 직접 구현이므로 MyStack을 만들어 구현 하였습니다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
[알고리즘] 백준 1026번: 보물 JAVA (0) | 2021.01.03 |
---|---|
[알고리즘] 백준 10866번: 덱 JAVA (0) | 2020.12.27 |
[알고리즘] 백준 10815번: 숫자 카드 JAVA (0) | 2020.12.21 |
[알고리즘] 백준 2751번: 수 정렬하기 2 Java (0) | 2020.10.26 |
[알고리즘] 퀵 정렬 Java (0) | 2020.10.26 |
댓글