Sona está em sua casa com sua filha de 10 anos. Ela precisa ir à escola para trazer outra criança da escola, pois a escola termina às 14h. Está quente lá fora, então ela quer deixar seu filho mais novo em casa.
Ela deu um monte de cordas ao filho para mantê-lo ocupado enquanto ela estava fora. Ela pediu a ela para reverter as palavras na corda. Existem muitas seqüências de caracteres, então você precisa ajudar a filha a resolver essa tarefa enorme.
Portanto, dada uma sequência que contém palavras separadas por espaço único, inverta as palavras na sequência. Você pode assumir que não há espaços à esquerda ou à direita.
A cadeia conterá apenas [a-zA-z ]
, portanto, você não precisa manipular a pontuação.
Você receberá uma string como entrada e deverá produzir uma string.
Casos de teste de amostra:
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
Pontuação
Isso é código-golfe . A resposta mais curta em bytes vence.
fonte
['man', 'bites', 'dog']
)Respostas:
Retina , 7 bytes
Experimente online!
Combine todas as palavras (
\w+
) e classifique-as com a chave de classificação vazia (O$
), o que significa que elas não serão classificadas e inverta a ordem (^
).fonte
0$
? Você não pode simplesmente reverter isso?O
) atualmente é o único modo que tem essa opção reversa.Haskell, 21 bytes
Experimente online!
fonte
Python 3 , 29 bytes
Experimente online!
fonte
*
faz?JavaScript (ES6), 31 bytes
Tente
fonte
Split
ele, divide-se no espaço em branco por padrão, pode fazer o mesmo aqui?split
em JS, ele será dividido em cada caractere individual ou criará uma matriz com um único elemento contendo a string original, dependendo da sintaxe usada.Bash + utilitários comuns do Linux, 21
Deixa um espaço à direita na sequência de saída - não tenho certeza se está tudo bem ou não.
fonte
R, 19 bytes
lê a string de stdin. Por padrão,
scan
lê tokens separados por espaços / novas linhas, e lê as palavras como um vetor.rev
inverte ecat
imprime os elementos com espaços.Experimente online!
fonte
Braquilog , 6 bytes
Experimente online!
Explicação
Observe que "dividir em espaços" e "unir-se a espaços" usam o mesmo recurso interno, ou seja
ṇ₁
, são usados apenas em "direções" diferentes.fonte
Gelatina , 3 bytes
Experimente online!
Explicação:
fonte
C #, 58 bytes
fonte
brainfuck , 74 bytes
Experimente online!
Esse código cria o número -32 em dois lugares diferentes, mas isso parece ser menos bytes do que tentar manter um único -32.
Explicação
fonte
C,
5448 bytesUsando argumentos como entrada, 48 bytes
Experimente on-line
Usando ponteiros, 84 bytes
Usar
fonte
Japonês ,
111074 bytesMinha primeira tentativa no Japt.
Experimente online
Explicação
Compartilhe suas dicas de Japt aqui .
fonte
¸
no lugar deqS
, o que deve economizar três bytes aqui. (Consulte a seção "Atalhos Unicode" dos documentos do intérprete)-S
sinalizador .-S
seria +1 na sua contagem total de bytes.Python 2 , 34 bytes
Experimente online!
fonte
Pitão , 4 bytes
Experimente online!
fonte
05AB1E , 4 bytes
Nota: Funcionará apenas para 2 ou mais palavras. +1 byte se isso não estiver correto.
Experimente online!
fonte
#R¸»
solução alternativa de 4 bytes: P.PHP, 47 bytes
Experimente online!
fonte
Marca GNU , 62 bytes
fonte
Cubix , 48 bytes
Quase desisti deste, mas finalmente cheguei lá.
Experimente online!
Ele é mapeado para um cubo com um comprimento lateral de três da seguinte maneira
As etapas gerais são:
A
eB
pilha reversaq
para o fundo, adicione um contador0
à pilha. um pouco de pular por aqui.)
e buscar o item de contador da pilhat
S-?
(
!U
for 0s
contador com caracteres na pilhao
caractere e solte-o da pilha;
#
e diminuir(
?
se 0 e saia@
se for 0So
limpeza de espaço;;
e volte ao primeiro loop.Eu pulei várias etapas supérfluas, mas você pode vê-la passo a passo
fonte
Mathematica, 35 bytes
Experimente online!
fonte
StringSplit[#]
divide automaticamente em espaço em branco, para que você não precise especificar o" "
.StringRiffle@*Reverse@*StringSplit
(chame comoStringRiffle@*Reverse@*StringSplit@"hello world"
)Röda ,
2725 bytes2 bytes salvos graças a @fergusq
Experimente online!
Esta função recebe entrada do fluxo de entrada.
Explicação (desatualizada)
fonte
split
usa espaço como o separador padrão, entãosplit()
é menor que(_/" ")()
.Ohm , 4 bytes
Experimente online!
Explicação
fonte
CJam , 7 bytes
Experimente online!
Explicação
fonte
k, 9 bytes
Experimente no seu navegador da variedade web!
fonte
J , 6 bytes
Experimente online! Isso é reverso (
|.
) em (&.
) palavras (;:
). Ou seja, divida a frase em palavras, inverta-a e junte-se à frase novamente.fonte
Gema, 29 caracteres
Exemplo de execução:
fonte
Java 8, 62 bytes
Experimente aqui.
Java 7, 77 bytes
Experimente aqui.
fonte
Perl 6 , 14 bytes
Tente
Expandido:
fonte
Java 8, 53
57bytesAPI do Lambda + Stream
Seguindo a sugestão do Selim, deixamos cair 4 bytes
fonte
Stream.of
vez deArrays.stream
: -)Vim, 20 bytes
Isso é mais curto que a outra resposta do vim.
Experimente online!
fonte
Pitão, 3 bytes
Minha primeira resposta Pyth, um byte menor que a resposta de @ notjagan!
Explicado:
fonte