हमें कोण कोष्ठकों की एक स्ट्रिंग दी गई है, और हमें एक फ़ंक्शन लिखना है जो सभी कोष्ठकों का मिलान करने के लिए स्ट्रिंग के आरंभ और अंत में कोष्ठक जोड़ता है।
कोण कोष्ठक मेल खाते हैं यदि प्रत्येक <के लिए एक संगत> है और प्रत्येक> के लिए एक संगत <है।
उदाहरण के लिए - यदि इनपुट स्ट्रिंग है -
const str = '><<><';
आउटपुट
तब आउटपुट होना चाहिए -
const output = '<><<><>>';
यहां, हमने स्ट्रिंग को संतुलित करने के लिए शुरुआत में '<' और अंत में '>>' जोड़ा है।
हम एक संख्या का उपयोग करेंगे जो अब तक खुले '<' टैग की संख्या की गणना करेगा। और फिर, जब हम एक '>' टैग का सामना करते हैं, यदि कोई मौजूदा खुले टैग नहीं हैं, तो हम स्ट्रिंग की शुरुआत में '<' जोड़ देंगे (खुले टैग की गिनती 0 पर रखते हुए)।
फिर, अंत में, वर्तमान में खुले टैग की संख्या से मेल खाने वाले कई '>' जोड़ें।
उदाहरण
इसके लिए कोड होगा -
const str = '><<><'; const buildPair = (str = '') => { let count = 0; let extras = 0; for (const char of str) { if (char === '>') { if (count === 0) { extras++; } else { count−−; }; } else { count++; }; }; const leadingTags = '<'.repeat(extras); const trailingTags = '>'.repeat(count); return leadingTags + str + trailingTags; }; console.log(buildPair(str));
आउटपुट
और कंसोल में आउटपुट होगा -
><<><>>