Ctrl K

Калькулятор со скобками: плюс и минус

Сложная
Строка expr — корректное арифметическое выражение из неотрицательных целых чисел, знаков + и -, круглых скобок и пробелов. Вычислите его и верните результат. Минус может быть унарным: -7 и -(1 + 2) допустимы. Плюс унарным не бывает, и два знака подряд не встречаются. Пробелы могут стоять где угодно между числами и знаками. Встроенные средства, которые вычисляют строку как выражение (например, eval), использовать нельзя — разберите строку сами.
Пример 1
expr="12 - (4 + 3) + 1" → 6

Скобка даёт 7, дальше 12 - 7 + 1 = 6.

Пример 2
expr="-(8 - (2 + 9))" → 3

Внутри 8 - 11 = -3, минус перед скобкой меняет знак: 3.

Пример 3
expr=" 40 " → 40
Ограничения
  • 1 ≤ len(expr) ≤ 10⁶
  • expr состоит из цифр, +, -, (, ) и пробелов
  • expr — корректное выражение
  • Каждое число, значение любой скобки и итог помещаются в 32-битное знаковое целое
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиУпрощение многочлена с буквами СложнаяКалькулятор со скобками и четырьмя действиями СложнаяСумма прописью по-английски СложнаяКалькулятор со скобками и переменными СложнаяВложенная логическая формула Сложная
загружаем Python…
Вход
expr="12 - (4 + 3) + 1"
Ожидается
6

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 80 тестов на сервере, включая скрытые.