Desafío
Se le dará un entero positivo n
como entrada. La salida debe ser una pila de arena tipo pirámide construida sobre las reglas especificadas a continuación:
- Cada número entero "cae" hacia abajo desde el mismo punto inicial, como arena que cae en forma de conal.
- Los números mayores que el número directamente debajo de él cuando golpea la pila de arena caerán a la derecha, si es posible.
- Los números menores que el número directamente debajo de él cuando golpea la pila de arena caerán a la izquierda, si es posible.
- Los números iguales al número directamente debajo de él cuando golpea la pila de arena permanecerán en su lugar.
- Los números pueden caer hacia la izquierda / derecha si pueden moverse hacia abajo y hacia la izquierda / derecha respectivamente. Es decir, si ya hay un número debajo ya la izquierda / derecha, dependiendo de la dirección, el número que cae actualmente no se mueve.
- Un número continuará cayendo por la pila de arena hasta que no pueda moverse a su siguiente posición o golpee el piso.
Notas
La verificación de comparación inicial solo se aplica al primer entero encontrado, no para cada encuentro sucesivo a medida que cae por la pila de arena.
Los espacios finales están bien, pero las nuevas líneas finales no.
Sin espacios iniciales o nuevas líneas, excepto donde sea necesario para preservar la estructura de la pila de arena.
Puede escribir un programa o función completa.
Puede suponer que la entrada solo contendrá alguna combinación [0-9]
.
Este es el código de golf , el código más corto en bytes será marcado ganador por los idus de marzo
Ejemplos
1
1
12345
35
124
54321
13
245
555444333222111
2
2
2
135
1345
13445
111222333444555
4
4
4
135
1235
12235
7313623030872935273465247457435345345350
3
3
3
3
34
355
3644
239475
201277445
020373685575
555444333222111
¿Es un error que el tercero4
caiga a la izquierda del primero4
?