Devido a limitações técnicas do Stack Exchange, o título é renderizado incorretamente. O título correto para este desafio é
Faça um
Word Icicle!
Word Icicle
Word cicle
ord cicle
ord icle
ord i le
or i le
or i l
or l
or
r
O desafio de hoje é fazer pingentes de gelo da palavra de entrada. Dada uma sequência de caracteres ASCII totalmente imprimíveis e pelo menos 2 caracteres não espaciais, execute as seguintes etapas:
Imprima o estado atual da sequência.
Substitua o caractere lexicamente menor (exceto espaços) por um espaço. Se houver um empate, substitua o caractere mais à esquerda.
Repita em linhas consecutivas até que a sequência contenha apenas 1 caractere não espacial.
Isso cria o efeito de que a string de entrada parece estar derretendo ...
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
Regras
Após algumas iterações, sua saída quase certamente terá espaços à direita em cada linha. Se você optar por truncar esses, isso é permitido.
Você pode ter uma linha vazia à direita, mas não mais.
Lembre-se de que a entrada pode conter vários espaços, mas todos são efetivamente ignorados. Por exemplo, a entrada
a a
deve fornecera a a
Você pode considerar a entrada como uma lista de strings, se desejar. Para saída, você pode retornar ou imprimir uma lista de cadeias, uma única cadeia com novas linhas ou matriz de caracteres / matriz 2D. Geralmente, eu prefiro formatos de E / S permissivos; portanto, é provável que outros formatos sejam permitidos desde que sejam consistentes e correspondam claramente à saída correta. Em caso de dúvida, não hesite em perguntar. Como de costume, programas ou funções completos são permitidos.
Lembre-se, este é um concurso para obter a resposta mais curta em qualquer idioma! Se você optar por responder em Java, tente fazer a resposta Java mais curta possível (em bytes).
Casos de teste
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
({({})({}[()])}{}) -->
({({})({}[()])}{})
{({})({}[()])}{})
{ {})({}[()])}{})
{ {}) {}[()])}{})
{ {}) {}[ )])}{})
{ {} {}[ )])}{})
{ {} {}[ ])}{})
{ {} {}[ ] }{})
{ {} {}[ ] }{}
{ {} {} ] }{}
{ {} {} }{}
{} {} }{}
} {} }{}
} } }{}
} } } }
} } }
} }
}