-
[백준 10828] - [스택] - 스택 (JAVA)알고리즘/스택(Stack) 2018. 11. 30. 12:30
문제 링크 : https://www.acmicpc.net/problem/10828
이 문제는 별로 쓸 글은 없다.
단순히 스택이 어떻게 돌아가는지 이해하는 문제여서 소스만 이쁘게 작성하면 된다.
소스
123456789101112131415161718192021222324252627282930313233343536373839import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;public class Main {public static int size;public static Stack<Integer> stack;public static void main(String[] args) throws IOException{BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st = null;stack = new Stack<Integer>();size = Integer.parseInt(br.readLine());StringBuilder sb = new StringBuilder();for(int i=0; i < size; i++) {st = new StringTokenizer(br.readLine());String type = st.nextToken();if("push".equals(type)) {int num = Integer.parseInt(st.nextToken());stack.push(num);}else if("top".equals(type)) {sb.append((stack.size() == 0)?-1+"\n":stack.peek() + "\n");}else if("pop".equals(type)) {sb.append((stack.size() == 0)?-1+"\n":stack.pop() + "\n");}else if("size".equals(type)) {sb.append(stack.size()+"\n");}else if("empty".equals(type)) {sb.append((stack.isEmpty())?1+"\n":0 + "\n");}}System.out.println(sb.toString());}}cs '알고리즘 > 스택(Stack)' 카테고리의 다른 글
[백준 2504] - [스택] - 괄호의 값 (JAVA) (0) 2018.11.30 [백준 9012] - [스택] - 괄호 (JAVA) (0) 2018.11.30 [백준 1874] - [스택] - 스택 수열 (JAVA) (0) 2018.11.30 댓글