Créez un programme avec le plus petit nombre de caractères pour inverser chaque mot d'une chaîne tout en conservant l'ordre des mots, ainsi que la ponctuation et les majuscules, à leur place initiale.
Par "Ordre des mots", je veux dire que chaque mot est divisé par un espace vide (""), donc les contractions et autres seront traitées comme un seul mot. L'apostrophe dans les contractions doit rester au même endroit. ("Don't" => "Tno'd").
(La ponctuation signifie tous les caractères qui ne sont pas az, AZ ou espaces blancs *).
- Les numéros ont été supprimés de cette liste car vous ne pouvez pas avoir de numéros de capital. Les nombres sont désormais traités comme de la ponctuation.
Par exemple, pour l'entrée:
Hello, I am a fish.
il devrait produire:
Olleh, I ma a hsif.
Notez que O, qui est la première lettre du premier mot, est maintenant majuscule, puisque H était auparavant majuscule au même endroit.
La virgule et la période sont également au même endroit.
Plus d'exemples:
This; Is Some Text!
sortirait
Siht; Si Emos Txet!
N'importe quelle langue peut être utilisée. Le programme avec le plus petit nombre de caractères gagne.
Don't touch that!
carte verst'noD hcuot taht!
ou versnoD't hcuot taht!
?Nod't hcuot tath!
Réponses:
GolfScript,
585448 caractèresIl s'agit d'une solution GolfScript qui est devenue assez longue. Une grande partie du code consiste en fait à savoir si un caractère est en a-zA-Z. Peut-être que quelqu'un peut trouver un moyen encore plus court de le tester.
Vous pouvez essayer le code en ligne . Exemples:
la source
" "
à l'intérieur%
pour en enregistrer une. J'ai trouvé d'autres façons de tester a-zA-Z pour 11 caractères, mais aucune pour 10.APL 69
Prend la saisie d'écran via: t ← ⍞
la source
Coffeescript,
134133 caractèresCoffeescript est (aux fins du code golf) une version légèrement plus dense de javascript. Il n'a pas l'opérateur ternaire, mais il a un échappement vers javascript.
Voici la version javascript:
Javascript,
152151 caractèresDentelé:
la source
Ruby: 89 caractères (dont 1 pour le
-p
switch)Non copié Jan Dvorak de solution CoffeeScript , mais après de nombreuses tentatives mon code comme une recherche clos le copie exacte. Une voix subconsciente n'arrêtait pas de chuchoter "suivez
le lapin blancJan Dvorak". Donc, les votes positifs pour l'algorithme devraient aller à sa réponse.Exemple d'exécution:
la source
Lua, 143
la source
EcmaScript 6 (112 caractères)
L'entrée est fournie dans
s
.Basé sur la réponse de @Jan Dorvak.
la source
C # (375)
Minifié
la source
A-Za-z
?[A-z]
non[A-Za-z]
. La première est une erreur courante (?), Car elle contient des caractères non alphabétiques.