Cree un programa con la menor cantidad de caracteres para invertir cada palabra en una cadena mientras mantiene el orden de las palabras, así como los signos de puntuación y mayúsculas, en su lugar inicial.
Por "Orden de las palabras", quiero decir que cada palabra está dividida por un espacio vacío (""), por lo que las contracciones y demás se tratarán como una sola palabra. El apóstrofe en las contracciones debe permanecer en el mismo lugar. ("Don't" => "Tno'd").
(La puntuación significa cualquier carácter que no sea az, AZ o espacio en blanco *).
- Los números se eliminaron de esta lista debido al hecho de que no puede tener números en mayúscula. Los números ahora se tratan como puntuación.
Por ejemplo, para la entrada:
Hello, I am a fish.
debería generar:
Olleh, I ma a hsif.
Observe que O, que es la primera letra de la primera palabra, ahora es mayúscula, ya que H antes era mayúscula en la misma ubicación.
La coma y el punto también están en el mismo lugar.
Más ejemplos:
This; Is Some Text!
saldría
Siht; Si Emos Txet!
Se puede usar cualquier idioma. El programa con la menor cantidad de personajes gana.
Don't touch that!
mapa at'noD hcuot taht!
o paranoD't hcuot taht!
?Nod't hcuot tath!
Respuestas:
GolfScript,
585448 caracteresEsta es una solución de GolfScript que se hizo bastante larga. Gran parte del código realmente está descubriendo si un personaje está en a-zA-Z. Quizás alguien pueda encontrar una forma aún más corta de probarlo.
Puedes probar el código en línea . Ejemplos:
fuente
" "
dentro de la%
para guardar una. He encontrado otras formas de probar a-zA-Z para 11 caracteres, pero ninguno para 10.APL 69
Toma entrada de pantalla a través de: t ← ⍞
fuente
Coffeescript,
134133 caracteresCoffeescript es (a los efectos del código golf) una versión ligeramente más densa de javascript. No tiene el operador ternario, pero tiene un escape a JavaScript.
Aquí está la versión de JavaScript:
Javascript,
152151 caracteresSangrado:
fuente
Ruby: 89 caracteres (incluido 1 para el
-p
interruptor)No se copió la solución CoffeeScript de Jan Dvorak , pero después de muchos intentos, mi código terminó pareciendo una copia exacta. Una voz subconsciente probablemente seguía susurrando "sigue
al conejo blancoJan Dvorak". Entonces, los votos a favor del algoritmo deberían ir a su respuesta.Ejecución de muestra:
fuente
Lua, 143
fuente
EcmaScript 6 (112 caracteres)
La entrada se proporciona en
s
.Basado en la respuesta de @Jan Dorvak.
fuente
C # (375)
Minified
fuente
A-Za-z
?[A-z]
no lo es[A-Za-z]
. El primero es un error común (?), Porque contiene caracteres no alfabéticos.