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


import java.util.Scanner;
import java.util.Stack;
class Main {
public static boolean parenthesis(String s) {
Stack<Character> stack= new Stack<>();
boolean checkFlag = true;
for (char c : s.toCharArray()) {
if (c == '(') {
stack.push(c);
} else if (c == ')') {
if (stack.isEmpty()) {
checkFlag = false;
break;
} else {
stack.pop();
}
}
}
if (checkFlag && stack.isEmpty()) {
return checkFlag;
} else {
return false;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
sc.nextLine();
for (int i = 0; i < T; i++) {
String s = sc.nextLine();
if (parenthesis(s)) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
}