ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자료구조- 스택 .java
    코딩테스트 준비 2022. 10. 17. 09:21

    백준 10828번

     

    BufferedReader 와 BufferedWriter로 입출력

    * BufferedWriter로 정수를 출력할때 String으로 변환후 출력해야한다. 마지막에는 flush 와 close해야한다!

     

    Stack의 push, pop, peek(top), empty, size 

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    import java.util.*;
    import java.io.*;
     
    public class Main {
        
        public static void main(String[] args) throws Exception {
            
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            
            int n = Integer.parseInt(br.readLine());
            Stack<Integer> stack = new Stack<>();
     
            for(int i =0; i<n; i++) {
                
                StringTokenizer st = new StringTokenizer(br.readLine());
                String str = st.nextToken();
                if(str.equals("push")) {
                    int a = Integer.parseInt(st.nextToken());
                    stack.push(a);
                }
                else if(str.equals("top")) {
                    if(stack.size() > 0) {
                        bw.write(stack.peek() + "");
                    }
                    else {
                        bw.write(-1 + "");
                    }
                    bw.write("\n");
                    
                }
                else if(str.equals("pop")) {
                    if(stack.size() > 0) {
                        bw.write(stack.pop()  + "");
                    }
                    else {
                        bw.write(-1 + "");
                    }
                    bw.write("\n");
                    
                }
                else if(str.equals("size")) {
                    bw.write(stack.size() + "");
                    bw.write("\n");
                }
                else if(str.equals("empty")) {
                    if(stack.empty()) {
                        bw.write(1 + "");
                    }
                    else {
                        bw.write(0 + "");
                    }
                    bw.write("\n");
                }
                
            }
            bw.flush();
            bw.close();
            
     
                
            
        }
        
        
     
    }
     
    cs

    '코딩테스트 준비' 카테고리의 다른 글

    9093 문자열 뒤집기.java  (0) 2022.10.17
    1157 java  (0) 2022.10.12
    14502 java  (1) 2022.10.12
    sort()와 compare  (0) 2022.08.11
    현대 모비스 알고리즘 경진대회 예선  (1) 2022.07.01
Designed by Tistory.