Study & Project ✏️/알고리즘 📋

백준[JAVA] 9012.괄호- 자바

JM 2022. 10. 6. 00:30
반응형

📖 문제

📃 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;

public class Main {
    public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    public static void main(String[] args) throws IOException {
        StringBuilder sb = new StringBuilder();

        int N = Integer.parseInt(br.readLine());
        while (N > 0) {
            sb.append(vps()+"\n");
            N--;
        }
        System.out.println(sb);
    }

    public static String vps() throws IOException {
        Stack<Character> stack = new Stack<>();

        String s = br.readLine();

        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == '(') {
                stack.push('(');
            } else {
                if (stack.empty()) {
                    return "NO";
                }
                stack.pop();
            }
        }
        // Parenthesis
        if (stack.empty()) {
            return "YES";
        } else {
            return "NO";
        }
    }
}

 

🔗 링크

https://www.acmicpc.net/problem/9012

 

9012번: 괄호

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

www.acmicpc.net