Introducción
Un acrónimo recursivo es un acrónimo que contiene o se refiere a sí mismo, por ejemplo:
Fish
podría ser un acrónimo recursivo para Fish is shiny hero
, observe cómo también contiene el acrónimo. Otro ejemplo es Hi
-> Hi igloo
. O incluso ppcg paints
->ppcg paints cool galaxies pouring acid into night time stars
Básicamente, una oración es un acrónimo recursivo si las primeras letras de cada una de las palabras deletrean la primera palabra o palabras.
Desafío
Cree un programa que tome una cadena de 1 o más palabras separadas por un carácter de espacio y genere un acrónimo recursivo o una cadena vacía si es imposible. Es imposible hacer un acrónimo recursivo para una cadena como, por ejemplo, ppcg elephant
porque comenzaría tomando el p
de ppcg
luego agregando eso al acrónimo, luego tomando el e
de elephant
. Pero ahora tenemos una contradicción, ya que el acrónimo actualmente deletrea "pe ..", que entra en conflicto con "pp ..". Ese es también el caso con, por ejemplo hi
,. Tomarías el h
de hi
, pero la oración ha terminado y no hay más letras para deletrear hi
y solo nos queda h
lo que no coincidehi
. (La cadena necesita una cantidad de palabras mayor o igual que la cantidad de letras en el acrónimo)
La entrada y la salida no distinguen entre mayúsculas y minúsculas
Restricciones
- Todo lo que ingrese en su programa será palabras válidas en inglés. Pero también debe asegurarse de escribir palabras en inglés válidas (puede usar una base de datos o simplemente almacenar una palabra para cada una de las 26 letras)
- Se aplican las lagunas estándar y las reglas de E / S predeterminadas
Casos de prueba
hi igloo -> hi
ppcg paints -> (impossible)
ppcg paints cool giraffes -> ppcg
ppcg paints cool galaxies pouring acid into night time stars -> ppcgpaints
ppcg paints cool galaxies pouring acid into night time -> ppcg
ppcg questions professional pool challengers greatly -> (impossible)
I -> I
Puntuación
Este es el código de golf , por lo que gana el código fuente más pequeño en bytes
ppcg paints cool galaxies pouring acid into night time
sería "ppcgpaint" cuando se convierte en un acrónimo, pero la salida debería serppcg
aunque solo sea una coincidencia parcial.