
안녕하세요 !
오늘은 백준 - 괄호 문제를 가져왔습니다.

문제를 해결한 방법은 다음과 같습니다.
- 문자열의 수를 입력받는다.
- 문자열을 입력받아 VPS를 판별하는 함수를 호출한다.
- 문자열을 반복문을 통해 순회하면서 만약 문자가 왼쪽 괄호일 경우 스택에 추가한다.
- 만약 문자가 오른쪽 괄호이고 스택에 요소가 있을 경우 스택에서 요소를 하나 제거하고 반대의 경우 False를 반환합니다.
- 반복문이 끝난 이후 스택에 요소가 남아있으면 False를 아니면 True를 반환합니다.
- 반환한 값에 따라 YES/NO를 출력합니다.
for i in range(len(string)): if string[i] == "(": stack.append(string[i])
else: length = len(stack) if length: stack.pop() else: return False
if len(stack): return False return True
if result: print("YES") else: print("NO")
import sys
n = int(sys.stdin.readline().strip())
def VPS(string):
stack = []
for i in range(len(string)):
if string[i] == "(":
stack.append(string[i])
else:
length = len(stack)
if length:
stack.pop()
else:
return False
if len(stack):
return False
return True
for i in range(n):
string = list(sys.stdin.readline().strip())
result = VPS(string)
if result:
print("YES")
else:
print("NO")