একটি স্ট্রিং দেওয়া আছে যেটি শুধু দুটি ধরণের ক্যারেক্টার ধারণ করে: "(" এবং ")"। আমাদের একটি ফাংশন লিখতে হবে যা এই স্ট্রিংটি নেবে এবং প্যারেনথেসিসগুলো ব্যালেন্স করবে "(" বা ")" ইনসার্ট করে যতবার দরকার।
ফাংশনটি স্ট্রিং ব্যালেন্স করার জন্য ন্যূনতম কতবার ইনসার্ট করা হয়েছে তা রিটার্ন করবে। উদাহরণ −
যদি স্ট্রিং হয় −
const str = '()))';
তাহলে আউটপুট হবে ২, কারণ শুরুতে '((' যোগ করলে স্ট্রিংটি ব্যালেন্স হয়ে যাবে।
উদাহরণ
নিচে কোডটি দেওয়া হলো −
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