एक स्ट्रिंग दी गई है जिसमें केवल दो प्रकार के वर्ण हैं: "(" और ")"। हमें एक फ़ंक्शन लिखना है जो ऐसी स्ट्रिंग लेता है और आवश्यकतानुसार "(" या ")" डालकर पैरेंथेसिस को बैलेंस करता है।
फ़ंक्शन को स्ट्रिंग को बैलेंस करने के लिए की गई न्यूनतम सम्मिलन की संख्या वापस करनी चाहिए। उदाहरण के लिए:
यदि स्ट्रिंग है:
const str = '()))';
तो आउटपुट 2 होना चाहिए, क्योंकि '(( ' को शुरुआत में जोड़कर हम स्ट्रिंग को बैलेंस कर सकते हैं।
उदाहरण
निम्नलिखित कोड देखें:
const str = '()))';
const balanceParanthesis = str => {
let paren = [];
for (let i = 0; i < str.length; i++) {
if (str[i] === "(") {
paren.push(str[i]);
} else if (str[i] === ")") {
if (paren[paren.length - 1] === "(") {
paren.pop();
} else {
paren.push("#");
}
}
}
return paren.length;
};
console.log(balanceParanthesis(str));
आउटपुट
यह कंसोल पर निम्नलिखित आउटपुट देगा:
2