অ্যানাগ্রাম
অ্যানাগ্রাম হল সেই স্ট্রিং পেয়ার, যার একটি নির্দিষ্ট প্যাটার্নে পুনরায় সাজানো হলে অন্যটি পাওয়া যায়।
যেমন −
'hello' এবং 'lolhe' হল anagrams কারণ আমরা 'hello' স্ট্রিং তৈরি করতে 'lolhe'কে পুনরায় সাজাতে পারি বা এর বিপরীতে।
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি স্ট্রিং নিয়ে যায়, বলুন str1 এবং str2। স্ট্রিংগুলি একে অপরের অ্যানাগ্রাম হলে ফাংশনটি সত্য হওয়া উচিত, অন্যথায় মিথ্যা।
আমরা একটি মানচিত্র তৈরি করতে পারি যা প্রতিটি ইনপুট স্ট্রিংয়ের জন্য অক্ষরের সংখ্যাকে লম্বা করে। তারপর, আমরা মানচিত্রগুলিকে তুলনা করে দেখতে পারি যে সেগুলি অভিন্ন কিনা৷
৷উদাহরণ
const str1 = 'hello'; const str2 = 'lolhe'; const charCount = string => { const table = {}; for (let char of string.replace(/\W/g, "").toLowerCase()) table[char] = table[char] + 1 || 1; return table; }; const anagrams = (stringA, stringB) => { const charCountA = charCount(stringA); const charCountB = charCount(stringB); if (Object.keys(charCountA).length !== Object.keys(charCountB).length) return false; for (let char in charCountA) if (charCountA[char] !== charCountB[char]) return false; return true; }; console.log(anagrams(str1, str2));
আউটপুট
এবং কনসোলে আউটপুট হবে −
true