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

স্ট্রিংয়ে দুবার রিপিট হওয়া শব্দ গণনা - JavaScript

একটি স্ট্রিংয়ে কতগুলো শব্দ ঠিক দুবার এসেছে সেটি গণনা করা।

উদাহরণ

"car bus jeep car jeep bus motorbike truck"
// car: ২বার, bus: ২বার, jeep: ২বার
// মোট ৩টি শব্দ দুবার রিপিট হয়েছে

সমাধান

const countTwiceRepeated = (str) => {
  const words = str.split(' ');
  const freq = new Map();
  
  // ফ্রিকোয়েন্সি কাউন্ট
  for (const word of words) {
    freq.set(word, (freq.get(word) || 0) + 1);
  }
  
  // ঠিক ২বার এসেছে এমন শব্দ গণনা
  let count = 0;
  for (const [word, count] of freq) {
    if (count === 2) count++;
  }
  
  return count;
};

// সংক্ষিপ্ত ভার্সন
const countTwiceRepeatedShort = (str) => {
  const freq = {};
  for (const word of str.split(' ')) {
    freq[word] = (freq[word] || 0) + 1;
  }
  return Object.values(freq).filter(c => c === 2).length;
};

// টেস্ট
const str = "car bus jeep car jeep bus motorbike truck";
console.log(countTwiceRepeated(str)); // 3

// বিস্তারিত আউটপুট
const getDuplicateDetails = (str) => {
  const freq = {};
  for (const word of str.split(' ')) {
    freq[word] = (freq[word] || 0) + 1;
  }
  
  return Object.entries(freq)
    .filter(([_, count]) => count === 2)
    .map(([word]) => word);
};

console.log(getDuplicateDetails(str)); // ['car', 'bus', 'jeep']

ব্যাখ্যা

  • Map/Object: ফ্রিকোয়েন্সি কাউন্টের জন্য O(1) লুকআপ
  • filter: শুধু count === 2 वाले ফিল্টার
  • সময় জটিলতা: O(n) - লিনিয়ার

উৎপাদন

3
  1. জাভাস্ক্রিপ্টে স্ট্রিং ডিকোড করার ফাংশন

  2. জাভাস্ক্রিপ্টে স্ট্রিং এনক্রিপশন (সিজার সাইফার)

  3. জাভাস্ক্রিপ্টে স্ট্রিংয়ের স্বরবর্ণ গণনা করা

  4. জাভাস্ক্রিপ্টে ম্যাজিক্যাল স্ট্রিং সমস্যা