Sobes.tech
Back to tasks
Intern — Senior
48

Проверка корректности вложения скобок

Get help with live coding in real time with Sobes Copilot
Task condition

Необходимо написать функцию areBracketsBalanced, которая определяет, правильно ли распределены скобки в переданной строке expr. В строке допускаются только символы круглых, квадратных и фигурных скобок – ()[]{}. Функция должна возвращать True, когда каждая открывающая скобка имеет соответствующую закрывающую в правильном порядке, и False в противном случае.

def areBracketsBalanced(expr):
    stack = []

    for char in expr:
        if char in ["(", "{", "["]:
            stack.append(char)
        else:
            if not stack:
                return False
            current_char = stack.pop()
            if current_char == "(":
                if char != ")":
                    return False
            if current_char == "{":
                if char != "}":
                    return False
            if current_char == "[":
                if char != "]":
                    return False

    return not stack