Inspirado en este mini desafío de chat.
Dada una cadena como entrada (solo caracteres imprimibles ASCII), genera la cadena con las letras "lloviendo" hacia abajo. Cada letra debe ser un número aleatorio de líneas hacia abajo (aleatorio entre 0
y la longitud de la cadena, cada una con una probabilidad distinta de cero), y solo un carácter por columna. Todas las salidas posibles deben tener nuevamente una probabilidad distinta de cero.
Tal vez sea un poco confuso, así que aquí hay un ejemplo (tomado de ese CMC):
Hello World
d
H
o
llo
l
W
e
r
Tenga en cuenta cómo H
es un espacio hacia abajo, el d
cero es hacia abajo, y llo
todo sucede para alinearse. El r
es el más alejado, en 9
, pero aún es menor que la longitud de la cuerda desde la parte superior. Este es solo un ejemplo, hay docenas de otras posibilidades de entrada Hello World
.
Otros ejemplos podrían ser:
test
t
e
s
t
PP&CG
& G
P
P C
- La entrada y salida se pueden dar por cualquier método conveniente .
- La entrada está garantizada como no vacía (es decir, nunca recibirá
""
como entrada). - Puede imprimirlo en STDOUT o devolverlo como resultado de una función.
- Un programa completo o una función son aceptables.
- Cualquier cantidad de espacio en blanco extraño es aceptable, siempre y cuando los caracteres se alineen apropiadamente (por ejemplo, siéntase libre de rellenar como un rectángulo).
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).