Je heva ce texte bizarre où les vewols semblent être ratetod:
Je suis un texte mal écrit. Un fou a joué avec l'ordre des voyelles. Veuillez me réparer!
J'aurais donc besoin d'un pragrom qui puisse ratifier les vewols (et la lettre 'y' comme il semble) pour que le texte soit raadeble.
Ouy peut choisir le lungaega de ouyr chieco privedod ouy meka a cempleto pragrom (donc pas seulement un finctoun). L'yntre peut être un feild unpit, un feli de texte ou le leni de cammond. L'utpot mya olsa vyra comme ouy leki.
De cuerso je vais anvilide yna pragrom uutpitong mauvais textes. Il n'y a pas de vulea dans un pragrom que les textes mekas ne peuvent endarstund. Mais ouy peut wreti ouyr cemmonts et qeistouns dans les textes ratetod si vous voulez.
Clarifications
- Votre programme est uniquement requis pour gérer le texte ASCII.
- Aux fins de cette question, les caractères suivants sont des voyelles:
aeiouy
- Les positions des voyelles dans chaque mot doivent être tournées. Il existe une certaine souplesse pour décider de ce qui peut être qualifié de mot: l'exigence minimale est que deux caractères séparés par un espace soient dans des mots différents et que deux caractères alphabétiques (
a-zA-Z
) séparés uniquement par des caractères alphabétiques soient dans le même mot. - Le sens de rotation souhaité doit être déduit des cas de test ci-dessous.
Cas de test
Entrée: I'm a badly written text. Some lunatic guy played with the order of vowels. Please fix me !
Sortie:I'm a bydla wrettin text. Semo lanituc gyu plyead with the erdor of vewols. Plaese fix me !
Entrée: AeiOuy
Sortie:EioUya
Entrée: Hyphenated-word
Sortie: Hephanetyd-word
ouHephanetod-wyrd
aeiouAEIOU
en ASCII / Latin de base; ces points de code plus toutes les autres en Latin de base et Supplément Latin-1 qui ont ces caractères de base combinés avec un diacritique) , la question doit être explicite.Réponses:
GolfScript,
686757 caractèresL'entrée doit être donnée sur STDIN. Exemple (en ligne ):
la source
Ruby,
9190 caractèresCoffeescript, 148 charectars
Aucun ussimtoans, si ce n'est que "crapaud de loup" est un mot, et non mon sulitoon.
Tester:
la source
$&
place dugsub()
paramètre y du deuxième bloc; 2) épargnez 1 caractère en utilisant?Z
au lieu de'Z'
.$&
ne peut pas être utilisé car il est modifié avant de l'utiliser.z=$'[r]
le change. Concernant?Z
- merci, j'ai totalement oublié cette syntaxe.Haskell, 159 caractères
N'a pas été aussi court que je l'espérais, mais j'ai quand même décidé de le poster:
Version non golfée:
Ceci est un bel exemple de la façon dont l'évaluation paresseuse peut vous permettre de faire des trucs sympas. En
rotateVowels
, chaque fois qu'une nouvelle voyelle est trouvée, elle est transmise à gauche, en la remplaçant par celle venant de droite. Cette partie de la sortie du pli est réinjectée en tant qu'entrée de sorte que la voyelle la plus à gauche devient le remplacement de la voyelle la plus à droite.la source
Python 2 , 172 octets
Essayez-le en ligne!
la source