Objectif
De Wikipédia :
Un acronyme récursif est un acronyme qui se réfère à lui-même dans l'expression qu'il représente.
Votre objectif est de vérifier si une chaîne est un acronyme récursif.
- L'acronyme est le premier mot
- Les mots ne sont pas sensibles à la casse, séparés par un seul espace.
- La chaîne donnée ne contient aucune ponctuation ni apostrophe.
- Seule la première lettre de chaque mot peut faire partie de l'acronyme.
Vous devez également donner les mots de fonction . Par souci de simplicité, chaque mot peut être considéré comme un mot fonction.
Exemple
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"] }
Vous pouvez donner un programme complet ou une fonction.
La chaîne d'entrée peut être extraite de STDIN ou comme argument de fonction.
Le résultat de sortie peut être vrai / faux, 0/1, oui / non ...
La liste des mots de fonction (n'importe quel format de liste est valide) doit être donnée si et seulement s'il s'agit d'un acronyme récursif (même si la liste est vide) . Il n'est pas nécessaire de conserver la capitalisation des mots de fonction.
Critères gagnants
Ceci est un code-golf , le code le plus court gagne.