Ce défi est basé sur, et contient des cas de test, d' un cours de programmation que j'ai suivi à l'Université Aalto. Le matériel est utilisé avec permission.
Il y a deux ans et demi, il y avait un défi concernant les spoonerismes en anglais . Cependant, dans les spoonerismes finlandais sont beaucoup plus compliqués.
Spoonerismes en finnois
En finnois, les voyelles sont aeiouyäö
et les consonnes le sont bcdfghjklmnpqrstvwxz
. ( å
fait techniquement partie du finnois, mais n'est pas considéré ici.)
Les cuillerées les plus élémentaires ne prennent que la première voyelle de chaque mot, et toutes les consonnes qui les précèdent, et échangent les parties:
henri kontinen -> konri hentinen
tarja halonen -> harja talonen
frakki kontti -> kokki frantti
ovi kello -> kevi ollo
Voyelles longues
Certains mots contiennent deux de la même voyelle consécutive. Dans ces cas, la paire de voyelles doit être échangée avec la première voyelle de l'autre mot, raccourcissant ou allongeant les voyelles pour garder la même longueur.
haamu kontti -> koomu hantti
kisko kaappi -> kasko kiippi
Dans le cas de deux voyelles consécutives différentes, cela ne s'applique pas:
hauva kontti -> kouva hantti
puoskari kontti -> kooskari puntti
Trois ou plus de la même lettre consécutive n'apparaîtront pas dans l'entrée.
Harmonie vocalique
Le finnois a cette belle chose appelée harmonie des voyelles . Fondamentalement, cela signifie que les voyelles arrière aou
et les voyelles avant äöy
ne doivent pas apparaître dans le même mot.
Lorsque la permutation des voyelles avant ou arrière en un mot, toutes les voyelles de l'autre type dans le reste du mot devrait être changé pour correspondre au nouveau début du mot ( a <-> ä
, o <-> ö
, u <-> y
):
köyhä kontti -> kouha köntti
hauva läähättää -> läyvä haahattaa
e
et i
sont neutres et peuvent apparaître avec toutes les autres lettres; les échanger en un mot ne doit pas entraîner de modifications dans le reste du mot.
Cas spéciaux
L'harmonie des voyelles ne s'applique pas à certains mots, y compris de nombreux mots de prêt et mots composés. Ces cas ne doivent pas être traités "correctement".
Défi
Étant donné deux mots, sortez les mots spoonerised.
Les mots saisis ne contiendront que les caractères a-z
et äö
. Vous pouvez choisir d'utiliser des majuscules ou des minuscules, mais votre choix doit être cohérent entre les mots et les entrées / sorties.
Les E / S peuvent être effectuées dans n'importe quel format pratique . (Les mots doivent être considérés comme des chaînes ou des tableaux de caractères.)
Il s'agit de code-golf , donc la solution la plus courte en octets l'emporte.
Cas de test
U+0308 COMBINING DIAERESIS
devrait U+00E4 LATIN SMALL LETTER A WITH DIAERESIS
très bien fonctionner.)
e
et i
sont neutres, sont fihus keksy
, huvu lehy
et des lesmä prihti
réponses acceptables pour kehys fiksu
, levy huhu
et prisma lehti
respectivement?
puoskari äyskäri --> äöskäri puuskari --> puoskari ääskäri
.