ट्रैक
/
Zig
Zig
/
अभ्यास
/
ब्रैकेट का मिलान
ब्रैकेट का मिलान

ब्रैकेट का मिलान

मध्यम

परिचय

आपको Bracketeer™ के लिए सॉफ्टवेयर लिखने का मौका मिला है, जो एक पुराना लेकिन शक्तिशाली मेनफ्रेम है। इस पर चलने वाला सॉफ्टवेयर एक निजी भाषा में लिखा जाता है। इस भाषा का बहुत सारा सिंटैक्स परिचित लगता है, लेकिन आप देखते हैं कि इसमें ढेरों चौकोर ब्रैकेट, ब्रेस और गोल ब्रैकेट हैं। Bracketeer™ बहुत शक्तिशाली होने के बावजूद लचीला नहीं है। अगर सोर्स कोड में चौकोर ब्रैकेट, ब्रेस या गोल ब्रैकेट संतुलित नहीं हैं, तो Bracketeer™ क्रैश हो जाता है और उसे रीबूट करना पड़ता है। ऐसी परिस्थिति से बचने के लिए आप एक ऐसा कोड लिखना शुरू करते हैं जो यह जाँच सके कि चौकोर ब्रैकेट, ब्रेस और गोल ब्रैकेट संतुलित हैं या नहीं। इसकी जाँच के बाद ही आप उस कोड को Bracketeer™ पर चलाने की कोशिश करते हैं।

निर्देश

एक स्ट्रिंग दी गई है जिसमें चौकोर ब्रैकेट [], घुंघराले ब्रैकेट {}, गोल ब्रैकेट () या इनका कोई भी मेल हो सकता है। जाँचिए कि इनके सभी जोड़े ठीक से मिले हुए हैं और सही तरीके से नेस्टेड हैं। बाकी सभी अक्षरों पर ध्यान न दीजिए। जैसे, "{what is (42)}?" संतुलित है और "[text}" नहीं है।

सीमाएँ

आप यह मान सकते हैं कि isBalanced को मिलने वाले इनपुट में नेस्टिंग के 10 से अधिक लेवल कभी नहीं होंगे।

आप इस अभ्यास को allocator का उपयोग किए बिना भी हल कर सकते हैं, लेकिन ध्यान रखिए कि isBalanced फंक्शन सिर्फ bool नहीं लौटा सकता, क्योंकि टेस्ट try का उपयोग करते हैं।


स्रोत

Ginna Baker
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Zig Exercism

ब्रैकेट का मिलान शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Zig को 104 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।