Сона в своем доме со своей 10-летней дочерью. Ей нужно пойти в школу, чтобы забрать еще одного ребенка из школы, так как школа заканчивается в 2 часа дня. На улице жарко, поэтому она хочет оставить своего младшего ребенка дома.
Она дала ребенку кучу струн, чтобы она была занята, пока ее нет. Она попросила ее перевернуть слова в строке. Есть много строк, поэтому вы должны помочь ее дочери в решении этой огромной задачи.
Итак, если задана строка, содержащая слова, разделенные одним пробелом, поменяйте местами слова в строке. Вы можете предположить, что здесь нет начальных или конечных пробелов.
Строка будет содержать только [a-zA-z ]
, поэтому вам не нужно обрабатывать знаки препинания.
Вам дадут строку в качестве ввода, и вы должны вывести строку.
Примеры тестовых случаев:
Input:
Man bites dog
Output:
dog bites Man
Input:
The quick brown fox jumps over the lazy dog
Output:
dog lazy the over jumps fox brown quick The
Input:
Hello world
Output:
world Hello
счет
Это код-гольф . Кратчайший ответ в байтах побеждает.
источник
['man', 'bites', 'dog']
)Ответы:
Сетчатка , 7 байт
Попробуйте онлайн!
Сопоставьте все слова (
\w+
), отсортируйте их с помощью пустой строки (O$
) ключа сортировки, что означает, что они не будут сортироваться вообще, а затем измените их порядок (^
).источник
0$
? Вы не можете просто изменить это?O
) в настоящее время является единственным режимом, в котором есть эта обратная опция.Haskell, 21 байт
Попробуйте онлайн!
источник
Python 3 , 29 байт
Попробуйте онлайн!
источник
*
?JavaScript (ES6), 31 байт
Попытайся
источник
Split
он по умолчанию разделяется на пробелы, можете ли вы сделать то же самое здесь?split
в JS, она будет разделена на каждый отдельный символ или создаст массив с одним элементом, содержащим исходную строку, в зависимости от используемого синтаксиса.Bash + общие утилиты Linux, 21
Оставляет завершающий пробел в выходной строке - не уверен, что это нормально или нет.
источник
R, 19 байт
читает строку из стандартного ввода. По умолчанию
scan
читает токены, разделенные пробелами / символами новой строки, поэтому он читает слова в виде вектора.rev
переворачивает иcat
печатает элементы с пробелами.Попробуйте онлайн!
источник
Брахилог , 6 байт
Попробуйте онлайн!
объяснение
Обратите внимание, что и «разделение на пробелы», и «соединение с пробелами» используют одну и ту же встроенную функцию, то есть
ṇ₁
просто используются в разных «направлениях».источник
Желе , 3 байта
Попробуйте онлайн!
Объяснение:
источник
C #, 58 байт
источник
брейкфук , 74 байта
Попробуйте онлайн!
Этот код создает число -32 в двух разных местах, но это, кажется, меньше байтов, чем попытка поддерживать один -32.
объяснение
источник
C
5448 байтовИспользуя аргументы в качестве входных данных, 48 байтов
Попробуйте онлайн
Использование указателей, 84 байта
использование
источник
Japt ,
111074 байтаМоя первая попытка на Япте.
Попробуйте онлайн
объяснение
Пожалуйста, поделитесь своими советами по Japt здесь .
источник
¸
вместо негоqS
, что должно сэкономить три байта здесь. (См. Раздел «Ярлыки Unicode» документации переводчика)-S
флаг .-S
будет +1 к вашему общему количеству байтов.Python 2 , 34 байта
Попробуйте онлайн!
источник
Pyth , 4 байта
Попробуйте онлайн!
источник
05AB1E , 4 байта
Примечание: будет работать только для 2 или более слов. +1 байт, если это не нормально.
Попробуйте онлайн!
источник
#R¸»
альтернативное 4-байтовое решение: P.PHP, 47 байт
Попробуйте онлайн!
источник
GNU Make , 62 байта
источник
Cubix , 48 байтов
Почти сдался на этом, но, наконец, туда.
Попробуйте онлайн!
Это отображается на куб с длиной стороны три следующим образом
Основные шаги:
A
и обратныйB
стекq
вниз, добавьте счетчик0
в стек. немного прыгать здесь)
и получаем элемент счетчика из стекаt
S-?
(
!U
равен 0s
счетчика с персонажем в стекеo
персонажа и вытолкнуть его из стека;
#
и уменьшить(
?
0 и выйдите@
если 0So
чистой вверх;;
и вернуться к первой петле.Я пропустил несколько лишних шагов, но вы можете увидеть это шаг за шагом
источник
Mathematica, 35 байт
Попробуйте онлайн!
источник
StringSplit[#]
автоматически разделяется на пробелы, поэтому вам не нужно указывать" "
.StringRiffle@*Reverse@*StringSplit
(назовите это какStringRiffle@*Reverse@*StringSplit@"hello world"
)Рёда ,
2725 байт2 байта сохранены благодаря @fergusq
Попробуйте онлайн!
Эта функция принимает данные из входного потока.
Объяснение (устарело)
источник
split
использует пробел в качестве разделителя по умолчанию, поэтомуsplit()
он короче, чем(_/" ")()
.Ом , 4 байта
Попробуйте онлайн!
объяснение
источник
CJam , 7 байтов
Попробуйте онлайн!
объяснение
источник
к, 9 байт
Попробуйте в своем браузере веб-разнообразие!
источник
J , 6 байт
Попробуйте онлайн! Это обратный (
|.
) под (&.
) слова (;:
). То есть разделите предложение на слова, переверните его и снова присоедините к предложению.источник
Гема, 29 знаков
Образец прогона:
источник
Java 8, 62 байта
Попробуй это здесь.
Java 7, 77 байт
Попробуй это здесь.
источник
Perl 6 , 14 байт
Попытайся
Expanded:
источник
Java 8, 53
57байтLambda + Stream API
Следуя предложению Селима, мы просто сбросили 4 байта
источник
Stream.of
вместоArrays.stream
: -)Vim, 20 байтов
Это короче, чем другой ответ VIM.
Попробуйте онлайн!
источник
Pyth, 3 байта
Мой первый ответ Pyth, на один байт короче, чем ответ @ notjagan!
Разъяснение:
источник