Obbiettivo
Da Wikipedia :
Un acronimo ricorsivo è un acronimo che si riferisce a se stesso nell'espressione per cui rappresenta.
Il tuo obiettivo è verificare se una stringa è un acronimo ricorsivo.
- L'acronimo è la prima parola
- Le parole non fanno distinzione tra maiuscole e minuscole, separate da un singolo spazio.
- La stringa fornita non contiene punteggiatura né apostrofo.
- Solo la prima lettera di ogni parola può far parte dell'acronimo.
Devi anche dare le parole funzione . Per semplicità, ogni parola può essere considerata come una parola funzione.
Esempio
f("RPM Package Manager") => { true, [] }
f("Wine is not an emulator") => { true, ["an"] }
f("GNU is not Unix") => { true, ["is"] }
f("Golf is not an acronym") => { false }
f("X is a valid acronym") => { true, ["is","a","valid","acronym"] }
Puoi dare un programma completo o una funzione.
La stringa di input può essere presa da STDIN o come argomento di funzione.
Il risultato dell'output può essere vero / falso, 0/1, sì / no ...
L'elenco di parole di funzione (qualsiasi formato di elenco è valido) deve essere fornito se e solo se si tratta di un acronimo ricorsivo (anche se l'elenco è vuoto) . Non è necessario preservare la maiuscola delle parole funzione.
Criteri vincenti
Questo è un codice-golf , vince il codice più corto.