Crie um programa com a menor quantidade de caracteres para inverter cada palavra em uma sequência, mantendo a ordem das palavras, bem como pontuação e letras maiúsculas, em seu lugar inicial.
Por "ordem das palavras", quero dizer que cada palavra é dividida por um espaço vazio (""), de modo que as contrações serão tratadas como uma palavra. O apóstrofo nas contrações deve permanecer no mesmo local. ("Não" => "Não registrado").
(Pontuação significa qualquer caractere que não seja az, AZ ou espaço em branco *).
- Os números foram removidos desta lista devido ao fato de que você não pode ter números maiúsculos. Os números agora são tratados como pontuação.
Por exemplo, para a entrada:
Hello, I am a fish.
deve produzir:
Olleh, I ma a hsif.
Observe que O, que é a primeira letra da primeira palavra, agora é maiúsculo, pois H era maiúsculo antes no mesmo local.
A vírgula e o período também estão no mesmo lugar.
Mais exemplos:
This; Is Some Text!
produziria
Siht; Si Emos Txet!
Qualquer idioma pode ser usado. O programa com a menor quantidade de caracteres vence.
Don't touch that!
mapeia parat'noD hcuot taht!
ou paranoD't hcuot taht!
?Nod't hcuot tath!
Respostas:
GolfScript,
585448 caracteresEsta é uma solução GolfScript que se tornou bastante longa. Muito do código está realmente descobrindo se um caractere está em a-zA-Z. Talvez alguém possa encontrar uma maneira ainda mais curta de testá-lo.
Você pode tentar o código online . Exemplos:
fonte
" "
dentro%
para salvar uma. Eu encontrei outros meios de testar a-zA-Z para 11 caracteres, mas nenhum ainda para 10.APL 69
Obtém a entrada da tela via: t ← ⍞
fonte
Coffeescript,
134133 caracteresCoffeescript é (para os propósitos do código golf) uma versão um pouco mais densa do javascript. Não possui o operador ternário, mas tem uma fuga para o javascript.
Aqui está a versão javascript:
Javascript,
152151 caracteresRecuado:
fonte
Ruby: 89 caracteres (incluindo 1 para o
-p
switch)Não copiado Jan Dvorak 's solução CoffeeScript , mas depois de muitas tentativas meu código acabou parecendo uma cópia exata. Uma voz subconsciente provavelmente continuava sussurrando "siga
o coelho brancoJan Dvorak". Portanto, os votos positivos para o algoritmo devem ser respondidos.Exemplo de execução:
fonte
Lua, 143
fonte
EcmaScript 6 (112 caracteres)
A entrada é fornecida em
s
.Com base na resposta de @Jan Dorvak.
fonte
C # (375)
Minificado
fonte
A-Za-z
?[A-z]
não é[A-Za-z]
. O primeiro é um erro comum (?), Porque contém caracteres não alfabéticos.