আমাদের কাছে একটি অ্যাঙ্গেল ব্র্যাকেটের স্ট্রিং দেওয়া আছে, এবং আমাদের একটি ফাংশন লিখতে হবে যা স্ট্রিংয়ের শুরু এবং শেষে ব্র্যাকেট যোগ করে সব ব্র্যাকেট মেলানো যাবে।
অ্যাঙ্গেল ব্র্যাকেট মেলে যদি প্রতিটি <-এর জন্য একটি সংশ্লিষ্ট > থাকে এবং প্রতিটি >-এর জন্য একটি সংশ্লিষ্ট < থাকে।
উদাহরণস্বরূপ − ইনপুট স্ট্রিং যদি হয় −
const str = '><<><';
আউটপুট
তবে আউটপুট হওয়া উচিত −
const output = '<><<><>>';
এখানে, আমরা শুরুতে '<' এবং শেষে '>>' যোগ করেছি স্ট্রিং ব্যালেন্স করার জন্য।
আমরা একটি সংখ্যা ব্যবহার করব যা ওপেন '<' ট্যাগের সংখ্যা গণনা করবে। এবং যখন '>' ট্যাগ পাব, যদি কোনো ওপেন ট্যাগ না থাকে, তবে স্ট্রিংয়ের শুরুতে '<' যোগ করব (ওপেন ট্যাগ কাউন্ট ০ রেখে)।
শেষে, বর্তমান ওপেন ট্যাগের সংখ্যা অনুযায়ী '>' যোগ করব।
উদাহরণ
এটির জন্য কোড হবে −
const str = '><<><'; const buildPair = (str = '') => { let count = 0; let extras = 0; for (const char of str) { if (char === '>') { if (count === 0) { extras++; } else { count−−; }; } else { count++; }; }; const leadingTags = '<'.repeat(extras); const trailingTags = '>'.repeat(count); return leadingTags + str + trailingTags; }; console.log(buildPair(str));আউটপুট
কনসোলে আউটপুট হবে −
><<><>>