কম্পিউটার

জাভাস্ক্রিপ্টে স্ট্রিং কম্প্রেস করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং নেয় যাতে কিছু ক্রমাগত পুনরাবৃত্তি করা অক্ষর থাকতে পারে।

ফাংশনটি স্ট্রিংটিকে এভাবে কম্প্রেস করতে হবে -

'wwwaabbbb' -> 'w3a2b4'
'kkkkj' -> 'k4j'

এবং যদি সংকুচিত স্ট্রিংটির দৈর্ঘ্য আসল স্ট্রিংয়ের চেয়ে বেশি বা সমান হয় তবে আমাদের আসল স্ট্রিংটি ফিরিয়ে দেওয়া উচিত।

যেমন −

'aab' কে 'a2b1' তে সংকুচিত করা যেতে পারে কিন্তু এটি এর দৈর্ঘ্য বাড়িয়ে 4 করে তাই আমাদের ফাংশনটি 'aab' ফেরত দেওয়া উচিত

উদাহরণ

এর জন্য কোড হবে −

const str1 = 'wwwaabbbb';
const str2 = 'kkkkj';
const str3 = 'aab';
const compressString = (str = '') => {
   let res = '';
   let count = 1;
   for(let i = 0; i < str.length; i++){
      let cur = str[i];
      let next = str[i + 1];
      if(cur === next){
         count++;
      }else{
         res += cur + String(count);
         count = 1;
      };
   }
   return res.length < str.length ? res : str;
};
console.log(compressString(str1));
console.log(compressString(str2));
console.log(compressString(str3));

আউটপুট

এবং কনসোলে আউটপুট হবে −

3a2b4
k4j1
aab

  1. জাভাস্ক্রিপ্ট একটি স্ট্রিংকে বুলিয়ানে রূপান্তর করুন

  2. জাভাস্ক্রিপ্টে একটি স্ট্রিং-এ বন্ধনী যাচাই করা

  3. জাভাস্ক্রিপ্ট একটি স্ট্রিং uncamelising

  4. জাভাস্ক্রিপ্টে অনুরূপ স্ট্রিং গ্রুপ