Introducción
Para los que no saben, un palíndromo es cuando una cadena es igual a la cadena al revés (con excepción de la interpunción, espacios, etc.). Un ejemplo de palíndromo es:
abcdcba
Si revierte esto, terminará con:
abcdcba
Que es lo mismo. Por lo tanto, llamamos a esto un palíndromo. Para palindromizar cosas, echemos un vistazo a un ejemplo de una cadena:
adbcb
Esto no es un palíndromo. Para palindromizar esto, necesitamos fusionar la cadena invertida en la cadena inicial a la derecha de la cadena inicial , dejando ambas versiones intactas. Cuanto más corto, mejor.
Lo primero que podemos probar es lo siguiente:
adbcb
bcbda
^^ ^^
No todos los caracteres coinciden, por lo que esta no es la posición correcta para la cadena invertida. Vamos un paso a la derecha:
adbcb
bcbda
^^^^
Esto tampoco coincide con todos los personajes. Vamos otro paso a la derecha:
adbcb
bcbda
Esta vez, todos los personajes coinciden . Podemos fusionar ambas cadenas dejando el intacto . El resultado final es:
adbcbda
Esta es la cuerda palindromizada .
La tarea
Dada una cadena (con al menos un carácter) que contiene solo letras minúsculas (o mayúsculas, si eso encaja mejor), genera la cadena palindromizada .
Casos de prueba
Input Output
abcb abcba
hello hellolleh
bonobo bonobonob
radar radar
hex hexeh
Este es el código de golf , por lo que gana el envío con la menor cantidad de bytes.
obonobo
sería una mejor solución para el caso de prueba.
bono b o nob
es una oración completa. ¿Cuál es la diferencia entre Dios y Bono? Dios no deambula por Dublín fingiendo ser Bono ;-)