문제: 괄호로 된 입력값이 올바른지 판결하라(같은 괄호들로 열고 닫히는지 검사하는 문제)
class Solution:
def isValid(self, s: str) -> bool:
stack = []
table = {
')': '(',
'}': '{',
']': '[',
}
# 스택 이용 예외 처리 및 일치 여부 판별
for char in s:
if char not in table:
stack.append(char)
elif not stack or table[char] != stack.pop():
return False
return len(stack) == 0
(,[,{는 스택에 push하고 ),],}를 만날 때 스택에서 pop한 결과가 매핑테이블 결과와 매칭이 되는지 확인을 해서 존재하지 않으면 푸시하고 팝했을 때 일치하지 않으면 false를 반환하도록 한다.