Ctrl K

Вложенные условия

Средняя
Дана строка expr — выражение из вложенных условных операторов вида условие?да:нет. Условие — это T (истина) или F (ложь); если оно истинно, значение выражения — ветка да, иначе — ветка нет. Каждая ветка — это либо одна цифра, либо T/F, либо снова условное выражение. Условные операторы группируются справа налево, как в большинстве языков программирования: F?1:T?2:3 означает F?1:(T?2:3), а T?F?1:2:3 — T?(F?1:2):3. Вычислите выражение и верните результат — одну цифру, T или F — строкой из одного символа.
Пример 1
expr="F?7:4" → '4'

Условие ложно, берём ветку после : — 4.

Пример 2
expr="T?F?1:6:9" → '6'

Читается как T ? (F ? 1 : 6) : 9. Внешнее условие истинно, внутреннее ложно — получаем 6.

Пример 3
expr="F?2:F?3:T" → 'T'

Читается как F ? 2 : (F ? 3 : T), результат — T.

Ограничения
  • 5 ≤ len(expr) ≤ 10⁴
  • expr состоит из цифр и символов T, F, ?, :
  • expr — корректное выражение; все числа в нём однозначные
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРаскрыть скобки повторов СредняяКалькулятор со скобками: плюс и минус СложнаяКалькулятор со скобками и переменными СложнаяУпрощение многочлена с буквами СложнаяКалькулятор со скобками и четырьмя действиями Сложная
загружаем Python…
Вход
expr="F?7:4"
Ожидается
'4'

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