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

জাভাস্ক্রিপ্টে স্ট্রিং অ্যারে থেকে অ্যালফাবেট পজিশন মিলের কাউন্ট

সমস্যা

ইংরেজি ছোট হাতের অক্ষরের অ্যারে দেওয়া আছে। প্রতিটি স্ট্রিংয়ের জন্য, কতগুলো ক্যারেক্টার আছে যাদের ১-বেসড ইনডেক্স স্ট্রিংয়েও এবং অ্যালফাবেটেও একই, সেটি গুনতে হবে।

উদাহরণ

স্ট্রিং 'akcle' এর জন্য:

  • ইনডেক্স ০: 'a' → অ্যালফাবেট ইনডেক্স ০ (a=1) → মেলে ✓
  • ইনডেক্স ১: 'k' → অ্যালফাবেট ইনডেক্স ১০ (k=11) → মেলে না
  • ইনডেক্স ২: 'c' → অ্যালফাবেট ইনডেক্স ২ (c=3) → মেলে ✓
  • ইনডেক্স ৩: 'l' → অ্যালফাবেট ইনডেক্স ১১ (l=12) → মেলে না
  • ইনডেক্স ৪: 'e' → অ্যালফাবেট ইনডেক্স ৪ (e=5) → মেলে ✓
মোট: ৩টি মেলে।

উদাহরণ কোড


const arr = ["abode", "ABc", "xyzD"];

const findIndexPairCount = (arr = []) => {
  const alphabet = 'abcdefghijklmnopqrstuvwxyz';
  const res = [];
  
  for (let i = 0; i < arr.length; i++) {
    let count = 0;
    for (let j = 0; j < arr[i].length; j++) {
      if (arr[i][j].toLowerCase() === alphabet[j]) {
        count++;
      }
    }
    res.push(count);
  }
  return res;
};

console.log(findIndexPairCount(arr));

আউটপুট

[ 4, 3, 1 ]

ব্যাখ্যা

  • "abode": a(0)=a, b(1)=b, o(2)≠c, d(3)=d, e(4)=e → ৪টি মেলে
  • "ABc": A(0)=a, B(1)=b, c(2)=c → ৩টি মেলে (কেস-ইনসেনসিটিভ)
  • "xyzD": x(0)≠a, y(1)≠b, z(2)≠c, D(3)=d → ১টি মেলে

আধুনিক সংক্ষিপ্ত সংস্করণ


const findIndexPairCountModern = (arr) => 
  arr.map(str => 
    [...str.toLowerCase()].filter((char, i) => char === 'abcdefghijklmnopqrstuvwxyz'[i]).length
  );

console.log(findIndexPairCountModern(["abode", "ABc", "xyzD"])); // [4, 3, 1]

ব্যাখ্যা

  • str.toLowerCase() - কেস-ইনসেনসিটিভ কমপারিশনের জন্য।
  • [...str] - স্ট্রিংকে ক্যারেক্টার অ্যারেতে রূপান্তর।
  • filter((char, i) => char === alphabet[i]) - ইনডেক্স মিল চেক।
  • .length - মেলা ক্যারেক্টার কাউন্ট।
  1. জাভাস্ক্রিপ্টে স্ট্রিং অ্যারে থেকে অ্যালফাবেট পজিশন মিলের কাউন্ট

  2. জাভাস্ক্রিপ্টে রেঞ্জের মধ্যে নির্দিষ্ট সংখ্যা দিয়ে বিভাজ্য সংখ্যার গণনা

  3. জাভাস্ক্রিপ্টে ২-ডি স্ট্রিং অ্যারে সর্ট করে ডায়াগোনাল উপাদান বের করা

  4. জাভাস্ক্রিপ্টে str1-এর ক্যারেক্টার str2-এ কতবার এসেছে গণনা