आपको एक प्रोग्राम या फ़ंक्शन लिखना होगा जो ब्रैकेट्स की एक स्ट्रिंग लेता है और आउटपुट करता है कि क्या स्ट्रिंग पूरी तरह से मेल खाती है या नहीं। आपके कार्यक्रम को एक सत्य या गलत मूल्य छापना चाहिए , और IO किसी भी उचित प्रारूप में हो सकता है ।
नियम और परिभाषाएँ:
इस चुनौती के प्रयोजन के लिए, एक "ब्रैकेट" इन पात्रों में से किसी प्रकार है:
()[]{}<>
।ब्रैकेट की एक जोड़ी को "मिलान" माना जाता है यदि उद्घाटन और समापन ब्रैकेट सही क्रम में हैं और उनके अंदर कोई वर्ण नहीं है, जैसे कि
() []{}
या अगर इसके अंदर का हर सबमेलमेंट भी मैच हो जाए।
[()()()()] {<[]>} (()())
घनीभूत कई परतों को भी घना किया जा सकता है।
[(){<><>[()]}<>()] <[{((()))}]>
एक स्ट्रिंग माना जाता है "पूरी तरह से मिलान" अगर और केवल अगर:
हर एक पात्र एक कोष्ठक है,
ब्रैकेट की प्रत्येक जोड़ी में सही उद्घाटन और समापन ब्रैकेट और सही क्रम में है, और
प्रत्येक ब्रैकेट का मिलान किया जाता है।
आप मान सकते हैं कि इनपुट में केवल मुद्रण योग्य ASCII होगा ।
परीक्षण IO
यहां कुछ इनपुट दिए गए हैं जो एक सत्य मान लौटना चाहिए:
()
[](){}<>
(((())))
({[<>]})
[{()<>()}[]]
[([]{})<{[()<()>]}()>{}]
और यहाँ कुछ आउटपुट दिए गए हैं, जो एक मिथ्या मूल्य वापस करना चाहिए:
( Has no closing ')'
}{ Wrong order
(<)> Each pair contains only half of a matched element
(()()foobar) Contains invalid characters
[({}<>)> The last bracket should be ']' instead of '>'
(((())) Has 4 opening brackets, but only 3 closing brackets.
हमेशा की तरह, यह कोड-गोल्फ है, इसलिए मानक कमियां लागू होती हैं, और बाइट्स जीत में सबसे छोटा जवाब होता है।
[}
एक मैच? और यदि नहीं, तो इसे इन नियमों द्वारा कहां रखा गया है?
Each pair of brackets has the correct opening and closing bracket and in the right order.