Não temos desafios suficientes (semi-) fáceis para iniciantes. Mais e mais dos mais fáceis já estão em uso. Então, tentei inventar algo que pode ser possível para iniciantes, mas isso não é uma duplicata.
Entrada:
Uma única sequência separada com a nova linha do sistema operacional (ou seja \r\n
)
ou uma matriz com várias seqüências.
Saída - As escadas :
Remova todos os símbolos não alfabéticos e não numéricos. Então, tudo o que resta é [A-Za-z0-9]
. E então 'construa uma escada'; basicamente ordenando-os em comprimento, com o menor no topo e o mais largo na parte inferior.
Regras do desafio:
- Quando duas cordas têm o mesmo comprimento, as mesclamos como uma grande (a ordem não importa, portanto pode ser do primeiro ao último ou do último ao primeiro, conforme o que você preferir).
- A regra acima pode ser empilhada quando as seqüências mescladas tiverem o mesmo comprimento novamente (consulte o caso de teste 2).
Regras gerais:
- A entrada é STDIN e contém apenas caracteres ASCII. E a saída é STDOUT.
- O caso da saída deve ser o mesmo da entrada.
Cada envio deve ser um programa completo capaz de compilar e executar, não apenas um método / função.EDIT: Eu sou bastante novo, então talvez seja realmente melhor usar o padrão a partir de agora, mesmo que eu prefira um programa completo. Desculpe por todos que já publicaram um programa completo. Sinta-se à vontade para editar e tentarei não alterar a publicação no meio do desafio na próxima vez.- Isso é código-golfe , então a resposta mais curta em bytes vence. Eu provavelmente aceito a resposta mais curta daqui a um ano.
Não permita que as respostas do code-golf desencorajem você a publicar idiomas não codegolfistas como o C # e similares! Tente encontrar a resposta mais curta para qualquer linguagem de programação. - Sinta-se livre para usar idiomas mais novos que esta pergunta.
Casos de teste:
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
Saída 1:
Okthatwilldo
Thisisasampletext
Blablablasomemoretext
Thewoodmaybeofexcellentquality
thatyouwillhavetousetobuildstairs
orprettycrappyalmostfallingapartandfilledwithtermites
Entrada 2:
A
small
one
that
contains
equal
length
strings
for
the
special
rule
Saída 2:
A Or alternatively: A
length length
oneforthe theforone
smallequal equalsmall
stringsspecial specialstrings
thatrulecontains containsrulethat
Etapas explicadas em 2:
Primeira ordem no comprimento:
A
one
for
the
that
rule
small
equal
length
strings
special
contains
Primeira mesclagem:
A
oneforthe
thatrule
smallequal
length
stringsspecial
contains
Segunda ordem no comprimento:
A
length
thatrule
contains
oneforthe
smallequal
stringsspecial
Segunda mesclagem:
A
length
thatrulecontains
oneforthe
smallequal
stringsspecial
Terceira ordem no comprimento:
A
length
oneforthe
smallequal
stringsspecial
thatrulecontains
Entrada 3:
Test,
test.
This
is
a
test.
Saída 3:
a Or alternatively: a
is is
TesttestThistest testThistestTest
Entrada 4:
a
bc
d!
123
Saída 4:
123 Or alternatively: 123
adbc dabc
contains
não deveria estar na saída 2. Ele é mesclado comthatrule