Pila de Tamaño Fijo
Formas parte del equipo de desarrollo de una plataforma de enseñanza de programación. Como lección sobre manejo de excepciones y creación de estructuras de datos, te han pedido que implementes una clase Stack
en Python. Esta pila tiene un tamaño fijo y soporta tres operaciones:
push(item)
: Agrega un elemento a la cima de la pila.pop()
: Elimina el elemento superior de la pila y lo devuelve.peek()
: Observa el elemento superior de la pila sin eliminarlo.
Sin embargo, tu clase Stack
debe cumplir con las siguientes restricciones:
La operación
push(item)
debe lanzar una excepciónStackOverflowError
si se intenta agregar un elemento a una pila llena.La operación
pop()
debe lanzar una excepciónStackEmptyError
si se intenta eliminar un elemento de una pila vacía.
Para lograr una buena abstracción de herencia de clases, StackOverflowError
y StackEmptyError
deben heredar de Exception
y no aceptar argumentos en sus métodos __init__
.
Entrada | Salida |
---|---|
| StackOverflowError: The stack is full |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB