ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • boj)4949 - 균형잡힌 세상
    PS/boj 2020. 10. 13. 17:49
    import java.io.*;
    import java.util.*;
    
    public class boj_4949 {
        static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        static StringBuilder sb = new StringBuilder();
    
        public static void main(String[] args) throws IOException {
            while (true) {
                String input = br.readLine();
                if (input.equals(".")) {
                    break;
                }
                sb.append(solve(input) ? "yes" : "no").append("\n");
            }
    
            System.out.println(sb.toString());
        }
    
        public static boolean solve(String input) {
            Stack<Character> stack = new Stack<>();
            for (int i = 0; i < input.length(); i++) {
                char c = input.charAt(i);
                switch (c) {
                    case '(':
                    case '[':
                        stack.push(c);
                        break;
                    case ')':
                        if (stack.isEmpty() || stack.peek() != '(') {
                            return false;
                        }
                        stack.pop();
                        break;
                    case ']':
                        if (stack.isEmpty() || stack.peek() != '[') {
                            return false;
                        }
                        stack.pop();
                        break;
                    default:
                        break;
                }
            }
            return stack.isEmpty();
        }
    }
    

     

    - 깔끔하게 잘 푼거 같아서 다른풀이 참조함

     

    - 입력받을때 끝에 . 이면 break;

    - stack에 여는괄호 쌓기 

    - 닫는괄호가 나오면 스택 제일 위에있는 값과 비교, 스택이 비어있는 경우 예외 처리

    - 끝까지 반복문을 돌고 스택이 비었는가 ? 를 리턴함

    - 위에서 false에 안걸리고 스택이 비었다면 yes, 위에 걸리지는 않았지만 스택이 비지 않았다면 false

    'PS > boj' 카테고리의 다른 글

    boj)4889 - 안정적인 문자열  (0) 2020.10.14
    boj)2504 - 괄호의 값  (0) 2020.10.14
    boj)6198 - 옥상 정원 꾸미기  (0) 2020.10.13
    boj)2164 - 카드2  (0) 2020.10.12
    boj)2493 - 탑  (0) 2020.10.12
킹수빈닷컴