Scrivi un programma o una funzione che duplica le lettere in una parola, in modo che tutte le lettere duplicate disposte da sinistra a destra nella parola formino l'array di input.
Per esempio:
input: chameleon, [c,a,l,n]
output: cchaamelleonn
Ingresso
- La parola iniziale (ad es.
chameleon
) - Una matrice di caratteri (
[c,a,l,n]
) o una stringa per rappresentare una matrice (caln
) o qualcosa di simile - L'input può avvenire tramite parametri di funzione, STDIN o equivalenti di lingua
- Tutti gli input saranno lettere minuscole (az)
Produzione
La parola cambiata
Se ci sono più soluzioni, è possibile stamparne tutte
input: banana [n,a] possible outputs: bannaana, banannaa |-|---------|-|--->[n,a]
Si può presumere che la parola di input (non necessariamente l'array) avrà le lettere nell'array (in ordine)
Puoi anche supporre che gli input non abbiano lettere consecutive uguali (NON apple, geek, green, glass, door ...)
Esempi
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.
Il programma più corto vince!
Classifica (grazie a Martin Büttner per lo snippet)
#answer-list
e #language-list
larghezza 50%
per evitare sovrapposizioni di colonne nel tuo frammento.
bash
+ sed
risposta): è illegale per banana, na
=> baannana
? Ho pensato che "Puoi presumere che tutti gli input avranno le lettere nell'array (in ordine)" ha lo scopo di consentire , ma non richiedere , risposte per elaborare entrambi gli elenchi in sequenza, ma @manatwork l'ha interpretato in modo diverso.
[c,o,c,o]
, piuttosto che[c,o]
.