No puedo creer que aún no tengamos esto ... Es una de las estructuras de datos más importantes en la programación, pero aún así es lo suficientemente simple como para implementarlo en un código de golf :
Desafío
Su tarea es implementar una pila que permita empujar y reventar números, para probar su implementación y mantener la E / S simple. Usaremos la siguiente configuración:
- La entrada será una lista de enteros no negativos
Cada entero positivo indica un y cada indica un , descartando el elemento superior.push ( n ) 0 pop ()
- La salida será la pila resultante
Ejemplo
Por ejemplo, si se nos da :
La producción será:
Reglas
- La entrada será una lista de enteros no negativos en cualquier formato de E / S predeterminado
- puede usar un entero negativo para indicar el final de una secuencia de enteros
- La salida será una lista / matriz / ... de la pila resultante
- Si elige dónde estará el elemento superior (al principio o al final), la salida solo debe ser coherente
- la salida es flexible (por ejemplo, los enteros separados por nuevas líneas estarían bien), lo único que importa es el orden
- puedes usar un número entero negativo para indicar la parte inferior de la pila
- Tienes la garantía de que nunca habrá un cuando la pila esté vacía
Ejemplos
[] -> []
[1] -> [1]
[1,0,2] -> [2]
[4,0,1,12] -> [12,1]
[8,3,1,2,3] -> [3,2,1,3,8]
[1,3,7,0,0,0] -> []
[13,0,13,10,1,0,1005,5,0,0,0] -> [13]
[12,3,0,101,11,1,0,0,14,0,28] -> [28,101,12]