No tenemos suficientes desafíos (semi) fáciles para principiantes. Cada vez se toman más y más fáciles. Así que intenté encontrar algo que los principiantes pudieran lograr, pero eso no es un duplicado.
Entrada:
Una sola cadena separada con su nueva línea de sistema operativo (es decir \r\n
),
o una matriz con varias cadenas.
Salida - Las escaleras :
Elimine todos los símbolos no alfabéticos y no numéricos. Entonces todo lo que queda es[A-Za-z0-9]
. Y luego 'construir una escalera'; básicamente ordenándolos en longitud con los más pequeños en la parte superior y los más anchos en la parte inferior.
Reglas de desafío:
- Cuando dos cadenas tienen la misma longitud, las fusionamos entre sí como una cadena grande (el orden no importa, por lo que podría ser del primero al último o del último al primero, cualquiera de los dos que prefiera).
- La regla anterior puede apilarse cuando las cadenas combinadas son de igual longitud nuevamente (ver caso de prueba 2).
Reglas generales:
- La entrada es STDIN y contiene solo caracteres ASCII. Y la salida es STDOUT.
- El caso de la salida debe ser el mismo que el de la entrada.
Cada envío debe ser un programa completo capaz de compilarse y ejecutarse, así que no solo un método / función.EDITAR: Soy bastante nuevo, así que quizás sea mejor usar el predeterminado de ahora en adelante, aunque prefiero un programa completo. Perdón por todos los que ya han publicado un programa completo. Siéntase libre de editar, e intentaré no cambiar la publicación a mitad del desafío la próxima vez.- Este es el código de golf , por lo que gana la respuesta más corta en bytes. Probablemente acepto la respuesta más corta en un año a partir de ahora.
¡No permita que las respuestas de code-golf lo desalienten a publicar lenguajes de golf no codegolf como C # y similares! Intenta encontrar la respuesta más corta para cualquier lenguaje de programación. - Siéntase libre de usar idiomas más nuevos que esta pregunta.
Casos de prueba:
Entrada 1:
This is a sample text,
that you will have to use to build stairs.
The wood may be of excellent quality,
or pretty crappy almost falling apart and filled with termites.
Bla bla bla - some more text
Ok, that will do
Salida 1:
Okthatwilldo
Thisisasampletext
Blablablasomemoretext
Thewoodmaybeofexcellentquality
thatyouwillhavetousetobuildstairs
orprettycrappyalmostfallingapartandfilledwithtermites
Entrada 2:
A
small
one
that
contains
equal
length
strings
for
the
special
rule
Salida 2:
A Or alternatively: A
length length
oneforthe theforone
smallequal equalsmall
stringsspecial specialstrings
thatrulecontains containsrulethat
Pasos explicados de 2:
Primer pedido en longitud:
A
one
for
the
that
rule
small
equal
length
strings
special
contains
Primera fusión:
A
oneforthe
thatrule
smallequal
length
stringsspecial
contains
Segundo orden de longitud:
A
length
thatrule
contains
oneforthe
smallequal
stringsspecial
Segunda fusión:
A
length
thatrulecontains
oneforthe
smallequal
stringsspecial
Tercer orden de longitud:
A
length
oneforthe
smallequal
stringsspecial
thatrulecontains
Entrada 3:
Test,
test.
This
is
a
test.
Salida 3:
a Or alternatively: a
is is
TesttestThistest testThistestTest
Entrada 4:
a
bc
d!
123
Salida 4:
123 Or alternatively: 123
adbc dabc
contains
No se supone que es en la salida 2. Se pone fusionó conthatrule