백준. 9012번. 괄호 파이썬 풀이
문제링크 https://www.acmicpc.net/problem/9012
전에 만들어뒀던 괄호 판단 함수를 사용하였다
d = {
')': '(',
']': '[',
'}': '{'
}
# 문자열이 올바른 괄호 문자열인지 판단하는 함수
def check(s):
stack = []
for c in s:
if c == '{' or c == '[' or c == '(':
stack.append(c)
else:
if stack and stack.pop() == d[c]:
pass
else:
return False
# 올바른 괄호 문자열이라면 True 리턴
# 스택이 비어있어야 함
if not stack:
return True
else:
return False
n = int(input())
for _ in range(n):
temp = str(input())
if check(temp):
print("YES")
else:
print("NO")