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ónStackOverflowErrorsi se intenta agregar un elemento a una pila llena.La operación
pop()debe lanzar una excepciónStackEmptyErrorsi 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