Создайте программу с наименьшим количеством символов, чтобы поменять местами каждое слово в строке, сохраняя при этом порядок слов, а также знаки препинания и заглавные буквы на их первоначальном месте.
Под «Порядком слов» я подразумеваю, что каждое слово разделяется пустым пробелом («»), поэтому сокращения и тому подобное будут рассматриваться как одно слово. Апостроф в сокращениях должен оставаться на одном месте. ("Не" => "Tno'd").
(Пунктуация означает любые символы, которые не являются az, AZ или пробелом *).
- Числа были удалены из этого списка из-за того, что у вас не может быть заглавных чисел. Числа теперь рассматриваются как знаки пунктуации.
Например, для ввода:
Hello, I am a fish.
он должен вывести:
Olleh, I ma a hsif.
Обратите внимание, что O, которая является первой буквой в первом слове, теперь является заглавной, поскольку H ранее была заглавной в том же месте.
Запятая и точка тоже в одном месте.
Больше примеров:
This; Is Some Text!
будет выводить
Siht; Si Emos Txet!
Любой язык может быть использован. Программа с наименьшим количеством символов выигрывает.
Don't touch that!
карта кt'noD hcuot taht!
или кnoD't hcuot taht!
?Nod't hcuot tath!
Ответы:
GolfScript,
585448 символовЭто решение GolfScript, которое стало довольно длинным. Много кода на самом деле выясняет, находится ли символ в a-zA-Z. Может быть, кто-то может найти еще более короткий способ проверить это.
Вы можете попробовать код онлайн . Примеры:
источник
" "
внутри,%
чтобы сохранить один. Я нашел другие способы тестирования a-zA-Z для 11 символов, но еще нет для 10.APL 69
Вводит экран через: t ← ⍞
источник
CoffeeScript,
134133 персонажаCoffeescript - это (для целей гольф-кода) немного более плотная версия javascript. У него нет тернарного оператора, но есть выход в javascript.
Вот версия JavaScript:
Javascript,
152151 персонажаОтступ:
источник
Рубин: 89 символов (включая 1 для
-p
переключателя)Не копируется Jan Dvorak «s решение CoffeeScript , но после многих попыток моего код закончился выглядит как точная копия. Подсознательный голос, вероятно, продолжал шептать: «Следуй
за белым кроликомЯном Двораком». Так что отзывы за алгоритм должны идти на его ответ.Образец прогона:
источник
Луа, 143
источник
EcmaScript 6 (112 символов)
Вход предоставляется в
s
.Основано на ответе @Jan Dorvak.
источник
C # (375)
Минимизированный
источник
A-Za-z
?[A-z]
нет[A-Za-z]
. Первая - распространенная (?) Ошибка, потому что она содержит не алфавитные символы.