문제 풀이/Baekjoon Online Judge

[Baekjoon Online Judge] 11719번: 괄호 - 풀이 추가 예정

hyeonic 2021. 1. 5. 23:16
 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

 

import java.io.*;

public class Baekjoon9012 {

    static boolean isCorrectParenthesis(String parenthesis) {
        int count = 0;
        for (char c : parenthesis.toCharArray()) {
            if (c == '(') ++count;
            else if (c == ')') --count;

            if (count < 0) return false;
        }
        return count == 0;
    }

    public static void main(String[] args) throws IOException {

        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(bufferedReader.readLine());

        for (int i = 0; i < n; i++) {
            String parenthesis = bufferedReader.readLine();
            if (isCorrectParenthesis(parenthesis)) bufferedWriter.write("YES\n");
            else bufferedWriter.write("NO\n");
        }

        bufferedWriter.flush();
        bufferedReader.close();
        bufferedWriter.close();
    }
}

 

 이전에 괄호 관련 문제를 풀었던 기억이 있어서 쉽게 해결 할 수 있었다. count를 조절하여 올바른 괄호인지에 대해 판단하는 isCorrectParenthesis 메소드를 활용했다.