Escriba un programa o función que duplique letras en una palabra, de modo que todas las letras duplicadas dispuestas de izquierda a derecha en la palabra formen la matriz de entrada.
Por ejemplo:
input: chameleon, [c,a,l,n]
output: cchaamelleonn
Entrada
- La palabra inicial (p
chameleon
. Ej. ) - Una matriz de caracteres (
[c,a,l,n]
) o una cadena para representar una matriz (caln
), o algo similar - La entrada puede ser a través de parámetros de función, STDIN o equivalentes de lenguaje
- Todas las entradas serán letras minúsculas (az)
Salida
La palabra cambiada
Si hay varias soluciones, se puede imprimir cualquiera
input: banana [n,a] possible outputs: bannaana, banannaa |-|---------|-|--->[n,a]
Puede suponer que la palabra de entrada (no necesariamente la matriz) tendrá las letras en la matriz (en orden)
También puede suponer que las entradas no tienen letras consecutivas que sean iguales (NO manzana, geek, verde, vidrio, puerta ...)
Ejemplos
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.
¡El programa más corto gana!
Tabla de clasificación (gracias a Martin Büttner por el fragmento)
#answer-list
y #language-list
ancho 50%
para evitar la superposición de columnas en su fragmento.
bash
+ sed
respuesta): ¿Es ilegal para banana, na
=> baannana
? Creí que "Puede suponer que todas las entradas tendrán las letras en la matriz (en orden)" están destinadas a permitir , pero no requieren , respuestas para procesar ambas listas secuencialmente, pero @manatwork lo interpretó de manera diferente.
[c,o,c,o]
, en lugar de[c,o]
.