Sona jest w domu z 10-letnią córką. Musi iść do szkoły, aby przyprowadzić kolejne dziecko ze szkoły, ponieważ szkoła kończy się o godzinie 14.00. Na zewnątrz jest gorąco, więc chce zostawić swoje młodsze dziecko w domu.
Podała swojemu dziecku wiązankę sznurków, aby zajęły się nią, gdy jej nie będzie. Poprosiła ją, aby odwróciła słowa w ciągu. Jest wiele łańcuchów, więc musisz pomóc jej córce w rozwiązaniu tego wielkiego zadania.
Tak więc, biorąc pod uwagę ciąg zawierający słowa oddzielone pojedynczą spacją, odwróć słowa w ciągu. Możesz założyć, że nie ma spacji wiodących ani końcowych.
Ciąg będzie zawierał tylko [a-zA-z ]
, więc nie musisz obsługiwać interpunkcji.
Otrzymasz ciąg jako dane wejściowe i powinieneś wygenerować ciąg.
Przykładowe przypadki testowe:
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
Punktacja
To jest golf golfowy . Najkrótsza odpowiedź w bajtach wygrywa.
źródło
['man', 'bites', 'dog']
)Odpowiedzi:
Siatkówka , 7 bajtów
Wypróbuj online!
Dopasuj wszystkie słowa (
\w+
) posortuj je za pomocą klucza sort pustego łańcucha (O$
), co oznacza, że nie zostaną w ogóle posortowane, a następnie odwrócą swoją kolejność (^
).źródło
0$
? Nie możesz tego po prostu odwrócić?O
) jest obecnie jedynym trybem, który ma tę opcję odwrotną.Haskell, 21 bajtów
Wypróbuj online!
źródło
Python 3 , 29 bajtów
Wypróbuj online!
źródło
*
zrobić?JavaScript (ES6), 31 bajtów
Spróbuj
źródło
Split
, domyślnie dzieli się na białe znaki, czy możesz zrobić to samo tutaj?split
w JS, albo podzieli się na każdy pojedynczy znak, albo utworzy tablicę z pojedynczym elementem zawierającym oryginalny ciąg, w zależności od użytej składni.Bash + typowe narzędzia Linux, 21
Pozostawia końcowe miejsce w ciągu wyjściowym - nie jestem pewien, czy to jest w porządku, czy nie.
źródło
R, 19 bajtów
czyta ciąg ze standardowego wejścia. Domyślnie
scan
odczytuje tokeny oddzielone spacjami / znakami nowej linii, więc odczytuje słowa jako wektor.rev
odwraca icat
drukuje elementy ze spacjami.Wypróbuj online!
źródło
Brachylog , 6 bajtów
Wypróbuj online!
Wyjaśnienie
Zauważ, że zarówno „dzielenie na spacje”, jak i „łączenie ze spacjami” używają tego samego wbudowanego, to znaczy
ṇ₁
, po prostu używanego w różnych „kierunkach”.źródło
Galaretka , 3 bajty
Wypróbuj online!
Wyjaśnienie:
źródło
C #, 58 bajtów
źródło
pieprzenie mózgu , 74 bajty
Wypróbuj online!
Ten kod tworzy liczbę -32 w dwóch różnych miejscach, ale wydaje się, że jest to mniej bajtów niż próba utrzymania pojedynczego -32.
Wyjaśnienie
źródło
C,
5448 bajtówWykorzystanie argumentów jako danych wejściowych, 48 bajtów
Wypróbuj online
Używając wskaźników, 84 bajtów
Posługiwać się
źródło
Japt ,
111074 bajtówMoja pierwsza próba dla Japt.
Wypróbuj online
Wyjaśnienie
Podziel się swoimi wskazówkami Japt tutaj .
źródło
¸
zamiastqS
, co powinno zaoszczędzić ci tutaj trzy bajty. (Zobacz sekcję „Skróty Unicode” w dokumentacji tłumacza)-S
flagi .-S
byłoby +1 do całkowitej liczby bajtów.Python 2 , 34 bajty
Wypróbuj online!
źródło
Pyth , 4 bajty
Wypróbuj online!
źródło
05AB1E , 4 bajty
Uwaga: Działa tylko dla 2 lub więcej słów. +1 bajt, jeśli to nie jest OK.
Wypróbuj online!
źródło
#R¸»
alternatywne rozwiązanie 4-bajtowe: P.PHP, 47 bajtów
Wypróbuj online!
źródło
Marka GNU , 62 bajty
źródło
Cubix , 48 bajtów
Prawie się poddałem, ale w końcu dotarłem.
Wypróbuj online!
Mapuje to na sześcian o długości boku wynoszącej trzy w następujący sposób
Ogólne kroki to:
A
i odwrotneB
stosyq
na dół, dodaj licznik0
do stosu. trochę skakać tutaj.)
i pobranie elementu licznika ze stosut
S-?
(
!U
ma wartość 0s
licznik z postacią na stosieo
postać i wyrzuć ją ze stosu;
#
i zmniejszenie(
?
czy 0 i wyjdź,@
jeśli jest to 0So
czyszczenia;;
i wróć do pierwszej pętli.Pominąłem wiele zbędnych kroków, ale widać to krok po kroku
źródło
Mathematica, 35 bajtów
Wypróbuj online!
źródło
StringSplit[#]
automatycznie dzieli się na białe znaki, więc nie trzeba określać" "
.StringRiffle@*Reverse@*StringSplit
(nazwij to jakStringRiffle@*Reverse@*StringSplit@"hello world"
)Röda ,
2725 bajtów2 bajty zapisane dzięki @fergusq
Wypróbuj online!
Ta funkcja pobiera dane ze strumienia wejściowego.
Wyjaśnienie (nieaktualne)
źródło
split
używa spacji jako domyślnego separatora, więcsplit()
jest krótszy niż(_/" ")()
.Ohm , 4 bajty
Wypróbuj online!
Wyjaśnienie
źródło
CJam , 7 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
k, 9 bajtów
Wypróbuj w swojej przeglądarce internetowej odmiany!
źródło
J , 6 bajtów
Wypróbuj online! Jest to reverse (
|.
) under (&.
) words (;:
). To znaczy podziel zdanie na słowa, odwróć je i ponownie dołącz do zdania.źródło
Gema, 29 znaków
Przykładowy przebieg:
źródło
Java 8, 62 bajty
Wypróbuj tutaj.
Java 7, 77 bajtów
Wypróbuj tutaj.
źródło
Perl 6 , 14 bajtów
Spróbuj
Rozszerzony:
źródło
Java 8, 53
57bajtówInterfejs API Lambda + Stream
Zgodnie z sugestią Selima, właśnie upuściliśmy 4 bajty
źródło
Stream.of
zamiastArrays.stream
: -)Vim, 20 bajtów
To jest krótsze niż druga odpowiedź vima.
Wypróbuj online!
źródło
Pyth, 3 bajty
Moja pierwsza odpowiedź w Pythonie, jeden bajt krótszy niż odpowiedź @ notjagan!
Wyjaśnił:
źródło