কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে স্ট্রিং অ্যানাগ্রাম চেক করা


অ্যানাগ্রাম (Anagrams)

দুটি স্ট্রিং অ্যানাগ্রাম যদি একটির ক্যারেক্টার রি-অর্ডার করলে অন্যটি বানানো যায়।

উদাহরণ: 'hello' এবং 'lolhe' → অ্যানাগ্রাম।

সমাধান

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

আউটপুট

true

ব্যাখ্যা

  • charCount হেল্পার ফাংশন: নন-ওয়ার্ড ক্যারেক্টার রিমুভ করে (/\W/g), লোয়ারকেস করে, ফ্রিকোয়েন্সি ম্যাপ বানায়।
  • দুই ম্যাপের কী সংখ্যা এবং প্রতিটি কীয়ের কাউন্ট তুলনা করা হয়।
  • টাইম কমপ্লেক্সিটি: O(n + m)।
  1. জাভাস্ক্রিপ্ট const কীওয়ার্ড

  2. জাভাস্ক্রিপ্টে স্ট্রিং সার্চ করার পদ্ধতি

  3. জাভাস্ক্রিপ্টে দুটি অ্যারের বর্গ সমানতা যাচাই

  4. জাভাস্ক্রিপ্টে স্ট্রিংয়ের ক্যারেক্টারগুলো রিগ্রুপ করা