ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java 10828 스택
    PS 2023. 4. 29. 03:38

    풀이 :

    스택을 구현할 클래스를 만들어 int형 배열을 생성한 뒤 기능들을 구현하였습니다.

     

     

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.StringTokenizer;
    
    public class Main {
    
        static class Stack {
            private int n = 0;
            private int[] stack;
    
            public Stack(int size){
                stack = new int[size+1];
            }
            public void push (int x){
                stack[n+1] = x;
                n++;
            }
            public int pop(){
                if(n == 0){
                    return -1;
                }else {
                    int a = stack[n];
                    n--;
                    return a;
                }
            }
            public int size(){
                return n;
            }
            public int empty(){
                return n == 0? 1 : 0;
            }
    
            public int top(){
                return n == 0? -1 : stack[n];
            }
        }
    
        public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            int n = Integer.parseInt(br.readLine());
    
            StringTokenizer st;
            Stack stack = new Stack(n);
    
            for(int i = 0; i < n; i++){
                st = new StringTokenizer(br.readLine()," ");
    
                String str = st.nextToken();
                switch (str){
                    case "push":
                        int num = Integer.parseInt(st.nextToken());
                        stack.push(num);
                        break;
                    case "pop":
                        int pop = stack.pop();
                        System.out.println(pop);
                        break;
                    case "size":
                        int size = stack.size();
                        System.out.println(size);
                        break;
                    case "empty":
                        int empty = stack.empty();
                        System.out.println(empty);
                        break;
                    case "top":
                        int top = stack.top();
                        System.out.println(top);
                        break;
                    default:
                        break;
                }
            }
        }
    }

     

    'PS' 카테고리의 다른 글

    Java 10845 큐  (0) 2023.05.02
    Java 1406 에디터  (0) 2023.05.02
    Java 1874 스택 수열  (0) 2023.05.01
    Java 9093 단어 뒤집기  (0) 2023.05.01
    Java 10810번 문제. 공넣기  (0) 2023.04.20
Designed by Tistory.