다음과 같은 경우 입력 문자열이 유효합니다.
열린 괄호는 동일한 유형의 괄호로 닫혀야 합니다.
열린 괄호는 올바른 순서로 닫혀야 합니다.
모든 닫는 괄호에는 동일한 유형의 해당 열린 괄호가 있습니다.
입력: s = "()"
출력: true
예 2:
입력: s = "()[]{}"
출력: true
예시 3:
입력: s = "(]"
출력: false
1 <= s.length <= 104
s괄호로만 구성됩니다 '()[]{}'.
class Solution:
def isValid(self, s: str) -> bool:
stack = []
bracket_map = {'(': ')', '{': '}', '[': ']'}
for char in s:
if char in bracket_map:
stack.append(char)
elif stack and char == bracket_map[stack[-1]]:
stack.pop()
else:
return False
return not stack