Напишите программу или функцию, которая дублирует буквы в слове, чтобы все дублированные буквы, расположенные слева направо в слове, образовывали входной массив.
Например:
input: chameleon, [c,a,l,n]
output: cchaamelleonn
вход
- Начальное слово (например
chameleon
) - Массив символов (
[c,a,l,n]
) или строка для представления array (caln
), или что-то подобное - Ввод может быть через параметры функции, STDIN или языковые эквиваленты
- Все входные данные будут состоять из строчных букв (az)
Выход
Измененное слово
Если есть несколько решений, любое может быть напечатано
input: banana [n,a] possible outputs: bannaana, banannaa |-|---------|-|--->[n,a]
Вы можете предположить, что входное слово (не обязательно массив) будет иметь буквы в массиве (по порядку)
Вы также можете предположить, что входные данные не имеют одинаковых последовательных букв (НЕ apple, geek, green, glass, door ...)
Примеры
input: abcdefghij, [a,b,c]
output: aabbccdefghij
input: lizard, [i,a,r,d]
output: liizaarrdd
input: coconut, [c,o]
ouput: ccooconut or coccoonut or ccocoonut
input: onomatopoeia, [o,o,a,o,o]
output: oonoomaatoopooeia
input: onomatopoeia, [o,a,o]
output: oonomaatoopoeia or onoomaatoopoeia or oonomaatopooeia etc.
Самая короткая программа выигрывает!
Таблица лидеров (спасибо Мартину Бюттнеру за фрагмент)
#answer-list
и #language-list
ширину , чтобы 50%
избежать дублирования столбцов в вашем фрагменте кода.
bash
+ sed
ответ): Это незаконно для banana, na
=> baannana
? Я полагал, что «Вы можете предположить, что все входные данные будут иметь буквы в массиве (по порядку)», предназначенные для того , чтобы разрешать , но не требовать , ответы для последовательной обработки обоих списков, но @manatwork интерпретировал это по-разному.
[c,o,c,o]
, а не[c,o]
.