Napisz program lub funkcję, która powiela litery w słowie, aby wszystkie zduplikowane litery ułożone od lewej do prawej słowa tworzyły tablicę wejściową.
Na przykład:
input: chameleon, [c,a,l,n]
output: cchaamelleonn
Wkład
- Słowo początkowe (np.
chameleon
) - Tablica znaków (
[c,a,l,n]
) lub ciąg znaków reprezentujący tablicę (caln
) lub coś podobnego - Dane wejściowe mogą być wprowadzane za pomocą parametrów funkcji, STDIN lub odpowiedników językowych
- Wszystkie dane wejściowe będą pisane małymi literami (az)
Wydajność
Zmienione słowo
Jeśli istnieje wiele rozwiązań, można je wydrukować
input: banana [n,a] possible outputs: bannaana, banannaa |-|---------|-|--->[n,a]
Możesz założyć, że słowo wejściowe (niekoniecznie tablica) będzie zawierać litery w tablicy (w kolejności)
Możesz również założyć, że na wejściach nie ma kolejnych liter, które są takie same (NIE jabłko, maniak, zielony, szkło, drzwi ...)
Przykłady
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.
Najkrótszy program wygrywa!
Tabela liderów (podziękowania dla Martina Büttnera za fragment)
#answer-list
i #language-list
szerokość, 50%
aby uniknąć nakładania się kolumn w Twoim fragmencie.
bash
+ sed
odpowiedź): Czy to jest nielegalne dla banana, na
=> baannana
? Wierzyłem, że „Możesz założyć, że wszystkie dane wejściowe będą miały litery w tablicy (w kolejności)” ma na celu umożliwienie , ale nie wymaganie , odpowiedzi na przetwarzanie obu list sekwencyjnie, ale @manatwork zinterpretował to inaczej.
[c,o,c,o]
, a nie[c,o]
.