आपको एक (संभवतः खाली) स्ट्रिंग युक्त ब्रैकेट ( [{()}]) और किसी भी अन्य वर्ण ( A- Z, a- z, 0- 9, विराम चिह्न) दिए जाएंगे । आपको यह जाँचने की आवश्यकता है कि क्या यह निम्नलिखित नियमों का पालन करता है:
- गैर-ब्रैकेट वर्णों को अनदेखा किया जाता है।
- हर खुले ब्रैकेट
[{(में क्लोजिंग ब्रैकेट होता है)}]। इसलिए[](अनुमति नहीं है। - ब्रैकेट को ठीक से नेस्टेड किया जाता है।
[(])अनुमति नहीं है। - घुंघराले ब्रैकेट में वर्गाकार कोष्ठक नहीं हो सकते। साधारण कोष्ठक में घुंघराले या वर्गाकार कोष्ठक नहीं हो सकते। तो
[({})],[{[]}]और({})अनुमति नहीं है। ब्रैकेट को समान ब्रैकेट के साथ नेस्टेड किया जा सकता है, इसलिए[[{((()))}{{(())}}]()]{()}अनुमति दी गई है।
आउटपुट आपकी पसंद के अनुसार एक एकल सत्य / गलत मूल्य है।
सबसे छोटा कोड जीतता है।
परीक्षण के मामलों
b[[a{(/)}(())+={{}-}],] -> मान्य
([h][e][l][l][o]) -> अमान्य है
[///[{(\/(arg()))}1{{((-)-2)}}]()]{()} -> मान्य
hi -> मान्य