알고리즘 문제풀이/백준
#10828 : 스택
모항
2022. 4. 12. 23:06
풀이방법
사용된 것:
Stack
switch-case
2022.04.12
간단한 스택 문제이다.
switch-case문을 사용하여 풀었다.
코드
Java(2022.04.12)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Stack<Integer> stack = new Stack<Integer>();
int n = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for(int i = 0; i<n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
String command = st.nextToken();
switch(command) {
case "push" : stack.add(Integer.parseInt(st.nextToken())); break;
case "pop" : if(stack.isEmpty()) sb.append(-1);
else sb.append(stack.pop());
sb.append(System.lineSeparator()); break;
case "size" : sb.append(stack.size()); sb.append(System.lineSeparator()); break;
case "empty" : if(stack.isEmpty()) sb.append(1);
else sb.append(0);
sb.append(System.lineSeparator()); break;
case "top" : if(stack.isEmpty()) sb.append(-1);
else sb.append(stack.peek());
sb.append(System.lineSeparator()); break;
}
}
System.out.print(sb);
}
}