একটি স্ট্রিং দেওয়া হয়েছে যা শুধুমাত্র দুটি ধরনের অক্ষর নিয়ে গঠিত:"(" এবং ")"। আমাদের এমন একটি ফাংশন লিখতে হবে যা এইরকম একটি স্ট্রিং নেয় এবং যতবার প্রয়োজন ততবার একটি "(" বা একটি ")" সন্নিবেশ করে বন্ধনীর ভারসাম্য বজায় রাখে৷
তারপরে ফাংশনটি স্ট্রিংয়ে ভারসাম্য বজায় রাখতে ন্যূনতম সংখ্যক সন্নিবেশ ফেরত দেবে। যেমন −
যদি স্ট্রিং −
হয়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