Ctrl K

Журнал очков викторины

Лёгкая
Ведущий викторины записывает очки команды в журнал, который в начале пуст. Записи entries идут по порядку, и каждая — одно из: - целое число x — в журнал добавляется результат x; - "+" — добавляется результат, равный сумме двух последних результатов в журнале; - "D" — добавляется удвоенный последний результат; - "C" — последний результат отменяется и вычёркивается из журнала. Верните сумму всех результатов, оставшихся в журнале после обработки всех записей. Записи всегда корректны: перед "+" в журнале есть хотя бы два результата, перед "D" и "C" — хотя бы один.
Пример 1
entries=["4", "7", "+", "C", "D"] → 25

Журнал: [4] → [4, 7] → [4, 7, 11] → «C» убирает 11: [4, 7] → «D» добавляет 14: [4, 7, 14]. Сумма 25.

Пример 2
entries=["-3", "D", "8", "+"] → 1

[-3] → [-3, -6] → [-3, -6, 8] → [-3, -6, 8, 2]. Сумма 1.

Пример 3
entries=["9", "C"] → 0

Единственный результат отменён, журнал пуст — сумма 0.

Ограничения
  • 1 ≤ entries.length ≤ 1000
  • entries[i] — это "+", "D", "C" или целое число от -3·10⁴ до 3·10⁴
  • Все промежуточные результаты и ответ по модулю меньше 2³¹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРазборчивая очередь у раздачи ЛёгкаяСтолкновения роботов на рельсе СредняяПорядок снятия со стека СредняяСтек из потока чисел СредняяСтолкновения роботов на рельсе Сложная
загружаем Python…
Вход
entries=["4", "7", "+", "C", "D"]
Ожидается
25

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