Python 題目

PROBLEM

括號深度

一題一題刷

st = input()
stack = []
max_depth = 0

# 對應的括號
pairs = {')': '(', ']': '[', '}': '{'}

for ch in st:
    if ch in "({[":
        stack.append(ch)
        max_depth = max(max_depth, len(stack))
    elif ch in ")}]":
        if not stack or stack[-1] != pairs[ch]:
            print(-1)
            break
        stack.pop()
else:
    print(max_depth if not stack else -1)