
상기 문제를 지정한 조건 기준으로 괄호의 열고 닫힘이 적절하게 적용되었는지를 판단하는 문제이다.
class Solution:
def isValid(self, s: str) -> bool:
stack = deque()
dic = {"(": ")", "{": "}", "[": "]"}
cnt = 0
if len(s) % 2 != 0:
return False
i = 0
while i < len(s):
if s[i] in dic:
stack.append(s[i])
cnt += 1
i += 1
continue
if stack and s[i] == dic[stack[-1]]:
stack.pop()
cnt -= 1
i += 1
continue
else:
return False
i += 1
return cnt == 0
