Ze względu na ograniczenia techniczne stosu wymiany, tytuł jest renderowany niepoprawnie. Poprawny tytuł na to wyzwanie jest
Zrobić
Word Icicle!
Word Icicle
Word cicle
ord cicle
ord icle
ord i le
or i le
or i l
or l
or
r
Dzisiejsze wyzwanie polega na tworzeniu sopli ze słowa wejściowego. Biorąc pod uwagę ciąg w całości drukowalnego ASCII i co najmniej 2 znaki spacji, wykonaj następujące czynności:
Wydrukuj bieżący stan ciągu.
Zastąp najmniejszy leksykalnie znak (inny niż spacje) spacją. Jeśli jest remis, zamień lewą postać.
Powtarzaj w kolejnych wierszach, aż łańcuch będzie zawierał tylko 1 znak spacji.
To powoduje, że ciąg wejściowy wygląda tak, jakby się topił ...
I'm Melting!!!
I'm Melting !!
I'm Melting !
I'm Melting
I m Melting
m Melting
m elting
m lting
m ltin
m lt n
m t n
t n
t
Zasady
Po kilku iteracjach, twój wynik prawie na pewno będzie zawierał końcowe spacje w każdej linii. Jeśli zdecydujesz się je obciąć, jest to dozwolone.
Możesz mieć jedną końcową pustą linię, ale nie więcej.
Pamiętaj, że dane wejściowe mogą zawierać kilka spacji, ale wszystkie są skutecznie pomijane. Na przykład dane wejściowe
a apowinny daća a aMożesz wziąć dane wejściowe jako listę ciągów, jeśli chcesz. W celu uzyskania wyników możesz zwrócić lub wydrukować listę ciągów, pojedynczy ciąg z znakami nowej linii lub macierz znaków / tablicę 2D. Zasadniczo preferuję dopuszczalne formaty We / Wy, więc inne formaty są najprawdopodobniej dozwolone, o ile są spójne i wyraźnie odpowiadają prawidłowemu wynikowi. W razie wątpliwości możesz zapytać. Jak zwykle dozwolone są pełne programy lub funkcje.
Pamiętaj, że jest to konkurs na najkrótszą odpowiedź w dowolnym języku! Jeśli zdecydujesz się na odpowiedź w Javie, spróbuj uzyskać najkrótszą możliwą odpowiedź Java (w bajtach).
Przypadki testowe
Hello World! -->
Hello World!
Hello World
ello World
ello orld
ello orl
llo orl
lo orl
o orl
o or
or
r
AbCdEfGhIjKlMnOpQrStUvWxYz -->
AbCdEfGhIjKlMnOpQrStUvWxYz
bCdEfGhIjKlMnOpQrStUvWxYz
b dEfGhIjKlMnOpQrStUvWxYz
b d fGhIjKlMnOpQrStUvWxYz
b d f hIjKlMnOpQrStUvWxYz
b d f h jKlMnOpQrStUvWxYz
b d f h j lMnOpQrStUvWxYz
b d f h j l nOpQrStUvWxYz
b d f h j l n pQrStUvWxYz
b d f h j l n p rStUvWxYz
b d f h j l n p r tUvWxYz
b d f h j l n p r t vWxYz
b d f h j l n p r t v xYz
b d f h j l n p r t v x z
d f h j l n p r t v x z
f h j l n p r t v x z
h j l n p r t v x z
j l n p r t v x z
l n p r t v x z
n p r t v x z
p r t v x z
r t v x z
t v x z
v x z
x z
z
PPCG is da BEST -->
PPCG is da BEST
PPCG is da EST
PP G is da EST
PP G is da ST
PP is da ST
P is da ST
is da ST
is da T
is da
is d
is
s
({({})({}[()])}{}) -->
({({})({}[()])}{})
{({})({}[()])}{})
{ {})({}[()])}{})
{ {}) {}[()])}{})
{ {}) {}[ )])}{})
{ {} {}[ )])}{})
{ {} {}[ ])}{})
{ {} {}[ ] }{})
{ {} {}[ ] }{}
{ {} {} ] }{}
{ {} {} }{}
{} {} }{}
} {} }{}
} } }{}
} } } }
} } }
} }
}