সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং 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