Sona está en su casa con su hija de 10 años. Ella necesita ir a la escuela para traer a otro niño de la escuela, ya que la escuela termina a las 2 pm. Hace calor afuera, por lo que quiere dejar a su hijo menor en casa.
Le dio un montón de hilos a su hijo para mantenerla ocupada mientras ella no está. Ella le pidió que invirtiera las palabras en la cadena. Hay muchas cadenas, por lo que debe ayudar a su hija a resolver esta gran tarea.
Entonces, dada una cadena que contiene palabras separadas por un solo espacio, invierta las palabras en la cadena. Puede suponer que no hay espacios iniciales o finales.
La cadena solo contendrá [a-zA-z ]
, por lo que no necesita manejar la puntuación.
Se le dará una cadena como entrada, y debe generar una cadena.
Ejemplos de casos de prueba:
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
Tanteo
Este es el código de golf . La respuesta más corta en bytes gana.
fuente
['man', 'bites', 'dog']
)Respuestas:
Retina , 7 bytes
Pruébalo en línea!
Haga coincidir todas las palabras (
\w+
), ordénelas con una cadena vacía de clave de clasificación (O$
), lo que significa que no se ordenarán en absoluto, y luego invierta su orden (^
).fuente
0$
? ¿No puedes simplemente revertirlo?O
) es actualmente el único modo que tiene esta opción inversa.Haskell, 21 bytes
Pruébalo en línea!
fuente
Python 3 , 29 bytes
Pruébalo en línea!
fuente
*
?JavaScript (ES6), 31 bytes
Intentalo
fuente
Split
se divide en espacios en blanco de forma predeterminada, ¿puede hacer lo mismo aquí?split
en JS, se dividirá en cada carácter individual o creará una matriz con un solo elemento que contiene la cadena original, dependiendo de la sintaxis utilizada.Bash + utilidades comunes de Linux, 21
Deja un espacio final en la cadena de salida; no estoy seguro de si eso está bien o no.
fuente
R, 19 bytes
lee la cadena de stdin. Por defecto,
scan
lee tokens separados por espacios / líneas nuevas, por lo que lee las palabras como un vector.rev
invierte ecat
imprime los elementos con espacios.Pruébalo en línea!
fuente
Brachylog , 6 bytes
Pruébalo en línea!
Explicación
Tenga en cuenta que tanto "dividir en espacios" como "unir espacios wth" usan el mismo incorporado, es decir
ṇ₁
, solo se usan en diferentes "direcciones".fuente
Jalea , 3 bytes
Pruébalo en línea!
Explicación:
fuente
C #, 58 bytes
fuente
brainfuck , 74 bytes
Pruébalo en línea!
Este código crea el número -32 en dos lugares diferentes, pero eso parece ser menos bytes que intentar mantener un solo -32.
Explicación
fuente
C,
5448 bytesUsando argumentos como entrada, 48 bytes
Probar en línea
Usando punteros, 84 bytes
Utilizar
fuente
Japt ,
111074 bytesMi primer intento en Japt.
Pruébalo en línea
Explicación
Por favor, comparte tus consejos de Japt aquí .
fuente
¸
en lugar deqS
, lo que debería ahorrarle tres bytes aquí. (Consulte la sección "Accesos directos Unicode" de los documentos del intérprete)-S
bandera .-S
sería +1 en su recuento total de bytes.Python 2 , 34 bytes
Pruébalo en línea!
fuente
Pyth , 4 bytes
Pruébalo en línea!
fuente
05AB1E , 4 bytes
Nota: Solo funcionará para 2 o más palabras. +1 byte si esto no está bien.
Pruébalo en línea!
fuente
#R¸»
solución alternativa de 4 bytes: P.PHP, 47 bytes
Pruébalo en línea!
fuente
Marca GNU , 62 bytes
fuente
Cubix , 48 bytes
Casi me di por vencido con este, pero finalmente llegué allí.
Pruébalo en línea!
Esto se asigna a un cubo con una longitud lateral de tres de la siguiente manera
Los pasos generales son:
A
y reviertaB
pilaq
hacia abajo, agrega un contador0
a la pila. un poco de saltar por aquí.)
y obtenga el artículo del contador de la pilat
S-?
(
!U
es 0s
contador con el personaje en la pilao
personaje y sácalo de la pila;
#
y disminuya(
?
si 0 y salga@
si es 0So
limpieza;;
y vuelva al primer bucle.Me he saltado varios pasos superfluos, pero puedes verlo paso a paso
fuente
Mathematica, 35 bytes
Pruébalo en línea!
fuente
StringSplit[#]
se divide automáticamente en espacios en blanco, por lo que no necesita especificar el" "
.StringRiffle@*Reverse@*StringSplit
(llámalo comoStringRiffle@*Reverse@*StringSplit@"hello world"
)Röda ,
2725 bytes2 bytes guardados gracias a @fergusq
Pruébalo en línea!
Esta función toma la entrada del flujo de entrada.
Explicación (obsoleta)
fuente
split
usa el espacio como separador predeterminado, por lo quesplit()
es más corto que(_/" ")()
.Ohm , 4 bytes
Pruébalo en línea!
Explicación
fuente
CJam , 7 bytes
Pruébalo en línea!
Explicación
fuente
k, 9 bytes
Pruébalo en tu navegador de la variedad web!
fuente
J , 6 bytes
Pruébalo en línea! Esto es reverse (
|.
) bajo (&.
) palabras (;:
). Es decir, dividir la oración en palabras, revertirla y unirla nuevamente.fuente
Gema, 29 personajes
Ejecución de muestra:
fuente
Java 8, 62 bytes
Pruébalo aquí.
Java 7, 77 bytes
Pruébalo aquí.
fuente
Perl 6 , 14 bytes
Intentalo
Expandido:
fuente
Java 8, 53
57bytesAPI Lambda + Stream
Siguiendo la sugerencia de Selim, simplemente eliminamos 4 bytes
fuente
Stream.of
lugar deArrays.stream
: -)Vim, 20 bytes
Esto es más corto que la otra respuesta vim.
Pruébalo en línea!
fuente
Pyth, 3 bytes
Mi primera respuesta Pyth, ¡un byte más corto que la respuesta de @ notjagan!
Explicado:
fuente