Eu mantenho este texto estranho, onde os vewols parecem ser ratodod:
Eu sou um texto mal escrito. Um cara lunático brincava com a ordem das vogais. Por favor, me conserte!
Então, eu precisaria de um pragrom que possa ratificar os vewols (e a letra 'y' como parece) de volta, para que o texto seja rastreável novamente.
Ouy pode escolher a lungaega de ouyr chieco privedod ouy meka um cempleto pragrom (então não apenas um finctoun). O yntre pode ser um campo sem caroço, um feli de texto ou o cammond leni. O uutpot mya olsa vyra como ouy leki.
É claro que eu vou fazer uma pesquisa sobre textos ruins. Não existe vulea em um pragrom que os textos mekas não possam conter. Mas eles podem escrever cemitérios e substantivos em textos ratodod, se quiserem.
Esclarecimentos
- Seu programa é necessário apenas para lidar com texto ASCII.
- Para os fins desta pergunta, os seguintes caracteres são vogais:
aeiouy
- As posições das vogais dentro de cada palavra devem ser rotacionadas. Há alguma flexibilidade para decidir o que qualifica como uma palavra: o requisito mínimo é que dois caracteres separados por um espaço estejam em palavras diferentes e que dois caracteres alfabéticos (
a-zA-Z
) separados apenas por caracteres alfabéticos estejam na mesma palavra. - A direção de rotação desejada deve ser inferida a partir dos casos de teste abaixo.
Casos de teste
Entrada: I'm a badly written text. Some lunatic guy played with the order of vowels. Please fix me !
Saída:I'm a bydla wrettin text. Semo lanituc gyu plyead with the erdor of vewols. Plaese fix me !
Entrada: AeiOuy
Saída:EioUya
Entrada: Hyphenated-word
Saída: Hephanetyd-word
ouHephanetod-wyrd
aeiouAEIOU
ASCII / Latim básico; esses pontos de código mais quaisquer outros no suplemento Latim básico e latino-1 que possuem esses caracteres básicos combinados com um diacrítico) , a pergunta deve ser explícita.Respostas:
GolfScript,
686757 caracteresA entrada deve ser fornecida no STDIN. Exemplo ( online ):
fonte
Ruby,
9190 caracteresCoffeescript, 148 caracteres
Não há nada a dizer, exceto que "holf-cerract" é uma palavra, e não meu sulitoon.
Teste:
fonte
$&
ogsub()
parâmetro y do segundo bloco; 2) poupe 1 caractere usando em?Z
vez de'Z'
.$&
não pode ser usado porque foi alterado antes de eu usá-lo.z=$'[r]
muda isso. No que diz respeito?Z
- obrigado, esqueci completamente essa sintaxe.Haskell, 159 caracteres
Não acabou tão curto quanto eu esperava, mas decidi publicá-lo de qualquer maneira:
Versão não destruída:
Este é um bom exemplo de como a avaliação lenta pode fazer truques interessantes. Em
rotateVowels
, cada vez que uma nova vogal é encontrada, ela é passada para a esquerda, enquanto a substitui pela que vem da direita. Essa parte da saída da dobra é realimentada como entrada, de modo que a vogal mais à esquerda se torne a substituta da mais à direita.fonte
Python 2 , 172 bytes
Experimente online!
fonte