Ctrl K

Сколькими способами прочитать шифр

Средняя
Ребята шифруют записки: каждая заглавная латинская буква заменяется своим номером в алфавите, A → 1, B → 2, …, Z → 26, и номера пишутся подряд без разделителей. Из-за этого одну и ту же цепочку цифр часто можно прочитать по-разному: 25 — это и Y, и BE. Дана строка цифр code. Посчитайте, сколькими способами её можно разбить на коды букв. Код не может начинаться с нуля: 06 — это не F. Если прочитать строку невозможно, верните 0.
Пример 1
code='2611' → 4

Четыре прочтения: 2 6 1 1 (BFAA), 26 1 1 (ZAA), 2 6 11 (BFK), 26 11 (ZK).

Пример 2
code='1203' → 1

Ноль может быть только второй цифрой в 10 или 20, поэтому подходит лишь 1 20 3 (ATC).

Пример 3
code='30' → 0

30 — не код буквы, а 0 сам по себе ничего не значит. Прочтений нет.

Ограничения
  • 1 ≤ len(code) ≤ 100
  • code состоит только из цифр, в том числе может начинаться с нуля
  • Ответ меньше 2³¹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый длинный зеркальный кусок СредняяВсе правильные скобочные строки СредняяНаименьшее число правок СредняяСплести две строки СредняяНарезка слова на палиндромы Средняя
загружаем Python…
Вход
code='2611'
Ожидается
4

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