समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो एक स्ट्रिंग, str, लेता है जिसमें केवल '[' या ']' होते हैं।
हमारा फ़ंक्शन न्यूनतम संख्या में स्क्वायर ब्रैकेट ('[' या ']', और किसी भी स्थिति में) जोड़ने वाला है ताकि परिणामी ब्रैकेट संयोजन स्ट्रिंग वैध हो। और अंत में, हमें जोड़े गए ब्रैकेट की सबसे छोटी संख्या वापस करनी चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const str = '[]]';
आउटपुट
const output = 1;
आउटपुट व्याख्या
क्योंकि, यदि हम शुरुआत में '[' जोड़ते हैं, तो स्ट्रिंग संतुलित हो जाएगी।
उदाहरण
const findAdditions = (str = '') => {
let left = 0;
let right = 0;
for (let i = 0; i < str.length; i++) {
if (str[i] === '[') {
left += 1;
} else if (str[i] === ']') {
if (left > 0) {
left -= 1;
} else {
right += 1;
}
}
}
return left + right;
};
console.log(findAdditions(str));
आउटपुट
1