최종 출력을 for문으로 빼놨는 줄 알았는데, 안뺴놔서 나의 1시간을 소요한 충격적인 문제.......
for문 줄을 잘 확인하자...
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
for (int i = 0; i < N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
Stack<Character> stack = new Stack<>();
String s = st.nextToken(); // (())())
for (int j = 0; j < s.length(); j++) {
char c = s.charAt(j); // (
if (c == '(') stack.push(c);
else { // c == ')'
if (stack.isEmpty()) { // 스택이 비었으면
stack.push(c);
break;
} else stack.pop();
}
}
if (stack.isEmpty()) System.out.println("YES");
else System.out.println("NO");
}
}
}