Испытания

Обратная польская запись

PHP: Массивы

В данном упражнении необходимо реализовать стековую машину, то есть алгоритм, проводящий вычисления по обратной польской записи.

Обратная польская нотация или постфиксная нотация — форма записи математических и логических выражений, в которой операнды расположены перед знаками операций. Выражение читается слева направо. Когда в выражении встречается знак операции, выполняется соответствующая операция над двумя ближайшими операндами, находящимися слева от знака операции. Результат операции заменяет в выражении последовательность её операндов и знак, после чего выражение вычисляется дальше по тому же правилу. Таким образом, результатом вычисления всего выражения становится результат последней вычисленной операции.

Например, выражение (1 + 2) * 4 + 3 в постфиксной нотации будет выглядеть так: 1 2 + 4 * 3 +, а результат вычисления: 15. Другой пример - выражение: 7 - 2 * 3, в постфиксной нотации: 7 2 3 * -, результат: 1.

src\Arrays.php

Реализуйте функцию calcInPolishNotation, которая принимает массив, каждый элемент которого содержит число или знак операции (+, -, *, /). Функция должна вернуть результат вычисления по обратной польской записи.

<?php

calcInPolishNotation([1, 2, '+', 4, '*', 3, '+']);
// → 15

calcInPolishNotation([7, 2, 3, '*', '-']);
// → 1
Успешных завершений: 87%

Последние код-ревью

Автор Дата обновления Версий
nikitovskij 16 сент., 13:31 1
yakimov_dev 15 сент., 17:23 1
user-4b4124e801e72b7b 15 сент., 08:01 1
kathappiness 15 сент., 03:04 1
datsenko_md 08 сент., 13:22 1