Nie mamy wystarczającej liczby (pół-) łatwych wyzwań dla początkujących. Coraz więcej łatwych jest już zrobionych. Próbowałem więc wymyślić coś, co może być osiągnięte przez początkujących, ale to nie jest duplikat.
Wejście:
Pojedynczy ciąg oddzielony nową linią systemu operacyjnego (tj. \r\n)
Lub tablica z wieloma ciągami.
Wyjście - Schody :
Usuń wszystkie symbole niealfabetyczne i nienumeryczne. Pozostało więc tylko [A-Za-z0-9]. A potem „zbuduj schody”; w zasadzie zamawiając je na długości, najmniejsze u góry i najszersze u dołu.
Zasady konkursu:
- Gdy dwa ciągi są równej długości, łączymy je ze sobą jako jeden duży ciąg (kolejność nie ma znaczenia, więc może być od pierwszego do ostatniego lub od ostatniego do pierwszego, w zależności od tego, który wolisz).
- Powyższa reguła może się nakładać, gdy scalone ciągi znowu będą miały taką samą długość (patrz przypadek testowy 2).
Główne zasady:
- Dane wejściowe to STDIN i zawierają tylko znaki ASCII. Wyjście to STDOUT.
- Przypadek wyjścia musi być taki sam jak danych wejściowych.
Każde przesłanie musi być pełnym programem do kompilacji i uruchamiania, a więc nie tylko metodą / funkcją.EDYCJA: Jestem raczej nowy, więc być może lepiej jest teraz używać domyślnego , chociaż sam wolę pełny program. Przepraszamy za wszystkich, którzy opublikowali już pełny program. Możesz edytować, a następnym razem postaram się nie zmieniać postu w połowie wyzwania.- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach. Prawdopodobnie akceptuję najkrótszą odpowiedź za rok.
Nie pozwól, aby odpowiedzi na golfa zniechęcały Cię do publikowania golfowych języków innych niż codegolf, takich jak C # i podobne! Spróbuj znaleźć najkrótszą odpowiedź dla dowolnego języka programowania. - Używaj nowszych języków niż to pytanie.
Przypadki testowe:
Wejście 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
Wyjście 1:
Okthatwilldo
Thisisasampletext
Blablablasomemoretext
Thewoodmaybeofexcellentquality
thatyouwillhavetousetobuildstairs
orprettycrappyalmostfallingapartandfilledwithtermites
Wejście 2:
A
small
one
that
contains
equal
length
strings
for
the
special
rule
Wyjście 2:
A Or alternatively: A
length length
oneforthe theforone
smallequal equalsmall
stringsspecial specialstrings
thatrulecontains containsrulethat
Kroki wyjaśnione w 2:
Pierwsze zamówienie na długość:
A
one
for
the
that
rule
small
equal
length
strings
special
contains
Pierwsze połączenie:
A
oneforthe
thatrule
smallequal
length
stringsspecial
contains
Drugie zamówienie na długość:
A
length
thatrule
contains
oneforthe
smallequal
stringsspecial
Druga fuzja:
A
length
thatrulecontains
oneforthe
smallequal
stringsspecial
Trzecie zamówienie na długość:
A
length
oneforthe
smallequal
stringsspecial
thatrulecontains
Wejście 3:
Test,
test.
This
is
a
test.
Wyjście 3:
a Or alternatively: a
is is
TesttestThistest testThistestTest
Wejście 4:
a
bc
d!
123
Wyjście 4:
123 Or alternatively: 123
adbc dabc
containsnie powinien znajdować się w wyjściu 2. Zostaje scalony zthatrule