https://coderun.yandex.ru/problem/postfix-entry/description Легкая

Решение

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import java.util.Stack

fun main() {
    val reader = BufferedReader(InputStreamReader(System.`in`))
    val writer = BufferedWriter(OutputStreamWriter(System.out))

    // Считываем выражение в постфиксной записи и разбиваем на токены
    val tokens = reader.readLine().trim().split(" ")
    val stack = Stack<Int>()

    for (token in tokens) {
        when (token) {
            // Если токен - оператор, выполняем операцию над двумя последними элементами стека
            "+", "-", "*" -> {
                val b = stack.pop()
                val a = stack.pop()
                stack.push(
                    when (token) {
                        "+" -> a + b
                        "-" -> a - b
                        else -> a * b
                    }
                )
            }
            // Если токен - число, добавляем его в стек
            else -> stack.push(token.toInt())
        }
    }

    // Выводим результат вычисления
    writer.write(stack.pop().toString())

    reader.close()
    writer.close()
}