import java.util.*;
public class Main {
static Stack<Character> stk = new Stack<Character>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int i = 0; i < T; i++) {
String str = sc.next();
if(VPC(str)) {
System.out.println("YES");
}else {
System.out.println("NO");
}
stk.clear(); // 다음 VPC검사를 위해 clear
}
}
public static boolean VPC(String str) {
char[] arr = str.toCharArray();
for (int i = 0; i < arr.length; i++) {
if(arr[i] == '(') {
stk.push(arr[i]);
}
else if (arr[i] == ')') {
if(stk.empty()) { // 비어있으면
return false;
}else { // 비어있지 않으면
char tmp = stk.peek();
if(tmp == ')') {
return false;
}else {
stk.pop();
}
}
}
}
if(stk.empty()) {
return true;
}else {
return false;
}
}
}
'JAVA > 백준' 카테고리의 다른 글
[스택] 백준 10828 (0) | 2021.08.03 |
---|---|
[문자열 처리] 백준 11656 (0) | 2021.07.31 |
[문자열 처리] 백준 10824 (0) | 2021.07.31 |
[문자열 처리] 백준 11655 (0) | 2021.07.30 |
[문자열 처리] 백준 10820 (0) | 2021.07.30 |