Hack Frontend Community

Калькулятор обратной польской нотации

ЯндексАвито
Напишите функцию calc(str), которая вычисляет результат выражения в обратной польской нотации (ОПН). ОПН представляет собой выражение, в котором операнды и операторы записаны в особом порядке:
  • - Операнды (числа) и операторы (+, -, *, /) разделяются пробелами.
  • - Операция выполняется над двумя последними числами, встреченными перед оператором.
  • - Выражение вычисляется слева направо.
Если входная строка некорректна, функция должна вернуть сообщение об ошибке. Возможные ошибки:
  • "Error in Syntax" — если выражение содержит синтаксическую ошибку.
  • "Error in Operands" — если операнд не является числом.
  • "Division by zero" — если в выражении происходит деление на ноль.

Примеры:

Input 1: "8 2 / 3 +"
Output 1: 7
Input 2: "7 2 3 * -"
Output 2: 1
Run your code to see results.