https://leetcode.com/problems/baseball-game Easy

Решение

fun calPoints(operations: Array<String>): Int {
    val stack = mutableListOf<Int>() // Создаём стек для хранения очков
    for (op in operations) {
        when (op) {
            "+" -> {
                // Добавляем сумму двух последних очков
                val last = stack[stack.size - 1]
                val secondLast = stack[stack.size - 2]
                stack.add(last + secondLast)
            }
            "D" -> {
                // Удваиваем последнее очко
                val last = stack.last()
                stack.add(2 * last)
            }
            "C" -> {
                // Удаляем последнее очко
                stack.removeAt(stack.size - 1)
            }
            else -> {
                // Добавляем число в стек
                stack.add(op.toInt())
            }
        }
    }
    return stack.sum() // Возвращаем сумму всех очков
}