Fixed Size Stack
You are part of a development team for a programming teaching platform. As a lesson in exception handling and data structure creation, you've been asked to implement a Stack class in Python. This Stack has a fixed size and supports three operations:
push(item): Add an item to the top of the stack.pop(): Remove the top item of the stack and return it.peek(): Look at the top item of the stack without removing it.
However, your Stack class must have the following constraints:
The
push(item)operation should raise aStackOverflowErrorexception if trying to push an item onto a full stack.The
pop()operation should raise aStackEmptyErrorexception if trying to pop an item from an empty stack.
To create a good inheritance abstraction of classes, StackOverflowError and StackEmptyError should inherit from Exception and not accept arguments in their __init__ methods.
Input | Output |
|---|---|
| StackOverflowError: The stack is full |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB