Debido a limitaciones técnicas de Stack Exchange, el título se representa incorrectamente. El título correcto para este desafío es
Hacer una
Word Icicle!
Word Icicle
Word cicle
ord cicle
ord icle
ord i le
or i le
or i l
or l
or
r
El desafío de hoy es hacer carámbanos con la palabra de entrada. Dada una cadena de ASCII completamente imprimible , y al menos 2 caracteres que no sean espacios, realice los siguientes pasos:
Imprime el estado actual de la cadena.
Reemplace el carácter léxicamente más pequeño (que no sea espacios) con un espacio. Si hay un empate, reemplace el carácter más a la izquierda.
Repita en líneas consecutivas hasta que la cadena contenga solo 1 carácter no espacial.
Esto crea el efecto de que la cadena de entrada parece que se está derritiendo ...
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
Reglas
Después de un par de iteraciones, su salida seguramente tendrá espacios finales en cada línea. Si elige truncarlos, eso está permitido.
Puede tener una línea vacía al final, pero no más.
Recuerde que la entrada puede contener varios espacios, pero estos se omiten de manera efectiva. Por ejemplo, la entrada
a a
debería dara a a
Puede tomar la entrada como una lista de cadenas si lo desea. Para la salida, puede devolver o imprimir una lista de cadenas, una sola cadena con nuevas líneas o matriz de caracteres / matriz 2D. En general, prefiero los formatos IO permisivos, por lo que es probable que otros formatos estén permitidos siempre que sean consistentes y se correspondan claramente con la salida correcta. En caso de duda, no dude en preguntar. Como de costumbre, se permiten programas o funciones completos.
¡Recuerde, este es un concurso para hacer la respuesta más corta en cualquier idioma! Si elige responder en Java, intente hacer la respuesta Java más corta (en bytes) que pueda.
Casos de prueba
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
({({})({}[()])}{}) -->
({({})({}[()])}{})
{({})({}[()])}{})
{ {})({}[()])}{})
{ {}) {}[()])}{})
{ {}) {}[ )])}{})
{ {} {}[ )])}{})
{ {} {}[ ])}{})
{ {} {}[ ] }{})
{ {} {}[ ] }{}
{ {} {} ] }{}
{ {} {} }{}
{} {} }{}
} {} }{}
} } }{}
} } } }
} } }
} }
}