

문제 풀이
- T 입력 받기
- T 개수만큼 for문 반복
- 괄호 입력 받기
- 변수 3개 0으로 초기화
- '('와 ')'의 개수 구하기
- 괄호의 개수가 홀수이거나 시작이 ')'이거나 '('와 ')'의 개수가 맞지 않을 때,
"NO" 출력.
- '('이면 +1, ')'이면 -1을 사용하여 result의 값이 0이 되면
괄호가 잘 닫힌 걸로 판단하고 "YES" 출력.
📌 만일, "((("와 같은 경우가 있을 수도 있기에, ')일 때, result가 0이라면 "NO" 출력.
[정답 코드] 9012번. 괄호 (Python)
T = int(input())
for i in range(T) :
VPS = input()
count1 = 0
count2 = 0
result = 0
for i in range(len(VPS)) :
if VPS[i] == '(' :
count1 += 1
elif VPS[i] == ')' :
count2 += 1
if len(VPS) % 2 == 1 or VPS[0] == ')' or count1 != count2 :
print("NO")
else :
for i in range(len(VPS)) :
if VPS[i] == '(' :
result += 1
elif VPS[i] == ')' :
if result == 0 :
print("NO")
result = -1
break
result -= 1
if result == 0 :
print("YES")
