본문 바로가기
Beakjoon&프로그래머스/Java

[백준/Java] 9012번 괄호

by 현장 2025. 12. 26.

-Code

import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Scanner;

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

        int t = sc.nextInt();

        for (int i = 0; i < t; i++) {
            String line = sc.next();
            Deque<Character> deque = new ArrayDeque<>();

            for(char ch : line.toCharArray()) {
                // 덱이 비어있으면 push
                if (deque.isEmpty()) {
                    deque.push(ch);
                    continue;
                }
                // ')'가 나왔을때 덱의 마지막 원소가 '('이면 pop
                // 아니면 push
                if (ch == ')' && deque.peek() == '(') {
                    deque.pop();
                } else {
                    deque.push(ch);
                }
            }

            System.out.println(deque.isEmpty() ? "YES" : "NO");
        }
    }
}