Ctrl K

Заполнить пропуски без двойников

Лёгкая
В строке template некоторые буквы стёрлись и заменены знаком ?. Остальные символы — строчные латинские буквы, и никакие две соседние буквы среди них не совпадают. Замените каждый ? строчной латинской буквой так, чтобы в итоговой строке никакие два соседних символа не были одинаковыми. Уже стоящие буквы менять нельзя. Таких вариантов обычно много — верните лексикографически наименьший из них. Заполнить строку всегда возможно.
Пример 1
template='?a?' → 'bab'

Первую клетку нельзя сделать «a» (сосед справа — «a»), самая маленькая подходящая буква — «b»; с последней то же самое.

Пример 2
template='c??b' → 'cacb'

После «c» ставим «a»; следующая клетка стоит между «a» и «b», значит, ей достаётся «c».

Пример 3
template='???' → 'aba'

Без ограничений по краям наименьший вариант — «aba».

Ограничения
  • 1 ≤ template.length ≤ 100
  • template состоит из строчных латинских букв и символов ?
  • в template нет двух одинаковых соседних букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗначение римского числа ЛёгкаяОбщее начало слов ЛёгкаяБаланс скобок ЛёгкаяГде начинается фрагмент ЛёгкаяДлина последнего слова Лёгкая
загружаем Python…
Вход
template='?a?'
Ожидается
'bab'

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