import java.util.Scanner;
public class BOJ_2_9012 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
String[] arr = new String[T];
for(int i=0; i<T; i++) {
arr[i]=sc.next();
boolean ans = true; // ( 가 오지 않았는데 ) 괄호가 먼저 오는 경우는 무조건 NO
int count=0;
for (int j = 0; j < arr[i].length(); j++) {
String str = arr[i];
char sub = str.charAt(j);
if(sub=='(') count++;
else if(sub==')') count--;
if(count<0) ans=false;
}
if(count==0 && ans) System.out.println("YES");
else System.out.println("NO");
}
}
}
배열과 홀, 짝수 개념만을 이용해서 풀었으나 스터디 조원들은 스택을 활용하여 풀었다.
스택과 외의 자료구조에도 익숙해져서, 풀이 과정에서 여러 자료구조를 고려할 수 있도록 해야겠다.