निश्चित आकार का स्टैक
आप एक प्रोग्रामिंग शिक्षण प्लेटफ़ॉर्म की विकास टीम का हिस्सा हैं। अपवाद हैंडलिंग और डेटा संरचना निर्माण के पाठ के रूप में, आपसे Python में एक Stack क्लास को लागू करने के लिए कहा गया है। यह Stack निश्चित आकार का है और तीन ऑपरेशनों को सपोर्ट करता है:
push(item)
: स्टैक के शीर्ष पर एक आइटम जोड़ना।
pop()
: स्टैक के शीर्ष से एक आइटम हटाना और उसे वापस करना।
peek()
: बिना हटाए स्टैक के शीर्ष आइटम को देखना।
लेकिन, आपके Stack क्लास में निम्नलिखित सीमाएँ होनी चाहिए:
- यदि पूर्ण स्टैक पर आइटम जोड़ने की कोशिश की जाती है, तो
push(item)
ऑपरेशन कोStackOverflowError
एक्सेप्शन उठाना चाहिए।
- यदि खाली स्टैक से आइटम निकालने की कोशिश की जाती है, तो
pop()
ऑपरेशन कोStackEmptyError
एक्सेप्शन उठाना चाहिए।
क्लासेस की अच्छी इनहेरिटेंस एब्स्ट्रैक्शन बनाने के लिए,
StackOverflowError
और StackEmptyError
को Exception
से इनहेरिट करना चाहिए और उनकी __init__
मेथड्स में कोई आर्गुमेंट स्वीकार नहीं करने चाहिए।इनपुट | आउटपुट |
stack = Stack(3); stack.push('A'); stack.push('B'); stack.push('C'); stack.push('D'); print(stack.peek()); print(stack.pop()); print(stack.pop()); print(stack.pop()); print(stack.pop()) | StackOverflowError: The stack is full
C
C
B
A
StackEmptyError: The stack is empty |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB