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