본문 바로가기

백준

[백준] 4949 균형잡힌 세상_ JAVA

● 문제


● 풀이

 

이 전에 풀었던 백준 9012 괄호와 비슷한 문제이다.

 

대괄호가 추가되었다는 점과, 괄호와 상관없는 문자들이 섞여있는게 다른점이고 이를 수정하여 코드를 짠다.

 

 

import java.util.Scanner;
import java.util.Stack;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        String s;

        while (true) {
            s = in.nextLine();

            if (s.equals(".")) {
                break;
            }
            System.out.println(solve(s));
        }

    }

    public static String solve(String s) {

        Stack<Character> stack = new Stack<>();

        for (int i = 0; i < s.length(); i++) {

            char c = s.charAt(i);

            if (c == '(' || c == '[') {
                stack.push(c);
            } else if (c == ')') {

                if (stack.empty() || stack.peek() != '(') {
                    return "no";
                } else {
                    stack.pop();
                }
            } else if (c == ']') {

                if (stack.empty() || stack.peek() != '[') {
                    return "no";
                } else {
                    stack.pop();
                }
            }

        }

        if (stack.empty()) {
            return "yes";
        } else {
            return "no";
        }
    }

}

 

 

'백준' 카테고리의 다른 글

[백준] 10815 숫자 카드_ JAVA  (0) 2023.07.11
[백준] 10773 제로_ JAVA  (0) 2023.07.10
[백준] 10988 팰린드롬인지 확인하기_ JAVA  (0) 2023.07.06
[백준] 9012 괄호_ JAVA  (0) 2023.07.06
[백준] 2164 카드2_ JAVA  (0) 2023.07.03