Ctrl K

Одно слово — два сокращения

Сложная
Слово из строчных латинских букв сокращают так: разбивают его на несколько подряд идущих непустых кусков, некоторые куски (можно ни одного) заменяют их длиной, записанной цифрами, и склеивают всё обратно. Например, abcdefg можно разбить на ab, cde, f, g и заменить второй и третий кусок: получится ab31g. Даны две сокращённые записи first и second из строчных латинских букв и цифр от 1 до 9. Верните True, если существует слово, из которого можно получить обе записи, и False иначе. Обратите внимание: подряд идущие цифры не обязательно означают одно число — 31 может быть и куском длины 31, и двумя кусками длины 3 и 1.
Пример 1
first="k8s", second="kuber4es" → False

Подходит слово kubernetes: в k8s восемь букв ubernete заменены числом, в kuber4es — четыре буквы nete.

Пример 2
first="a11", second="2b" → True

11 можно прочитать как два куска по одной букве (1 и 1). Тогда подходит, например, слово axb: в нём три буквы, первая a, последняя b.

Пример 3
first="ab3", second="2c1" → False

По первой записи в слове 5 букв, по второй — 4. Общего исходного слова нет.

Ограничения
  • 1 ≤ len(first), len(second) ≤ 40
  • Строки состоят из строчных латинских букв и цифр от 1 до 9
  • Подряд идёт не больше 3 цифр
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиШаблон с точкой и звёздочкой СложнаяСамый длинный сбалансированный отрезок скобок СложнаяПодходит ли строка под шаблон СложнаяПеретасовка разрезами СложнаяСколькими способами вычеркнуть Сложная
загружаем Python…
Вход
first="k8s", second="kuber4es"
Ожидается
False

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