आप एक प्रोजेक्ट मैनेजर हैं। एक दिन, आपका एक प्रोग्रामर पागल हो गया ( आपकी गलती नहीं ) और कोडबेस में सभी भावों को ले लिया और मौके पर छोड़ने से पहले, अपनी अक्षमता ( आपकी गलती भी नहीं ) के बारे में शेख़ी करते हुए उन पर यादृच्छिक ब्रैकेट जोड़े । यह एक आसान समाधान होगा, हालांकि, किसी कारण से आप संशोधन नियंत्रण ( पूरी तरह से आपकी गलती नहीं ) का उपयोग नहीं कर रहे हैं । और किसी कारण से, अन्य प्रोग्रामर में से कोई भी बेमेल कोष्ठक को ठीक करने के लिए हर अभिव्यक्ति के माध्यम से नहीं जाना चाहता है ( वैसे, यह आपकी गलती नहीं है )। प्रोग्रामर इन दिनों, आप अपने आप को लगता है। यह आपको खुद ही करना पड़ेगा। डर! इस तरह के कार्य आपके नीचे होने चाहिए थे ...
इनपुट एक एकल पंक्ति होगी, जिसमें कई बाएं कोष्ठक ( ( [ {
) और दाएं कोष्ठक ( ) ] }
) होंगे। यह भी हो सकता है, लेकिन हमेशा नहीं, टिप्पणियों ( /* */
) और स्ट्रिंग शाब्दिक ( " "
या ' '
) और विभिन्न संख्याओं, अक्षरों, या प्रतीकों में होते हैं।
कम से कम एक ब्रैकेट (एक टिप्पणी या स्ट्रिंग शाब्दिक के बाहर) होगा जिसमें एक संक्षारण विपरीत (टिप्पणी या स्ट्रिंग शाब्दिक के बाहर) नहीं है। उदाहरण के लिए, }
एक {
पूर्व के बिना एक गलतफ़हमी। एक और उदाहरण: (
जिसके पास )
बाद में नहीं है । आपका कार्यक्रम एक स्थान के साथ बदल जाएगा, कोष्ठक की न्यूनतम संख्या कोष्ठक से मेल खाने के लिए आवश्यक है।
उदाहरण:
(4 + (2 + 3))]
==> (4 + (2 + 3))
(अंत में वर्ग कोष्ठक)
][][[]]
==> [][[]]
(शुरू में वर्ग कोष्ठक)
("Hel(o!"))
==> ("Hel(o!")
(अंत में कोष्ठक)
( /* )]*/
==> /* )]*/
(शुरू में कोष्ठक)
{()]
==> ()
(धनुषाकार कोष्ठक और वर्ग ब्रैकेट)
- इनपुट को जिस भी तरीके से लिया जा सकता है वह सबसे सुविधाजनक है (STDIN, कमांड लाइन तर्क, फ़ाइल से पढ़ना, आदि)
- यदि एक से अधिक रिमूवल के साथ मिसमैच को हल करने का एक से अधिक तरीका है, तो स्वीकार्य है।
- कोष्ठक में केवल बेमेल होगा। स्ट्रिंग शाब्दिक और टिप्पणियां हमेशा सही ढंग से बनाई जाएंगी।
- शीर्षक इस SO थ्रेड से आता है
- टिप्पणियों में कोई उद्धरण, उद्धरण में उद्धरण, टिप्पणियों में टिप्पणी या उद्धरण में टिप्पणी कभी नहीं होगी।
यह कोड गोल्फ है, इसलिए बाइट्स की न्यूनतम संख्या जीत जाती है। यदि विनिर्देश स्पष्ट नहीं हैं, तो टिप्पणियों में प्रश्न पूछें।
("foo (\") bar")
) में भागने वाले सामान को संभालना है ?
{{(})
होना चाहिए { }
या इसके बराबर होना चाहिए , क्योंकि शुरुआती परिदृश्य का अर्थ है कि कोड के साथ शुरू करने के लिए काम कर रहा था, और {(})
मुझे पता है कि हर प्रोग्रामिंग भाषा में बेमेल कोष्ठक के रूप में गिना जाता है (यानी "कारण ठहराव" ??)। लेकिन, फिर, मैंने पहले से ही एक उत्तर लिखा था, इसलिए मैं पक्षपाती हूं।