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

জাভাস্ক্রিপ্টে স্ট্রিং কি রিপিটেড সাবস্ট্রিংয়ের কম্বিনেশন সেটি চেক করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি ক্যারেক্টার স্ট্রিং একমাত্র আর্গুমেন্ট হিসেবে নেবে। ফাংশনটি চেক করবে কি স্ট্রিংটি তার যেকোনো একটি সাবস্ট্রিংকে একাধিকবার রিপিট করে কনক্যাট করে তৈরি করা যেতে পারে।

উদাহরণ:

const str = 'thisthisthisthis';

আউটপুট হবে:

const output = true;

আউটপুট ব্যাখ্যা:

কারণ স্ট্রিংটি 'this' সাবস্ট্রিং বারবার রিপিট করে তৈরি।

উদাহরণ

কোডটি নিচের মতো:

const str = 'thisthisthisthis'; const repeatedSubstring = (str = '') => { const {length} = str; const checkSubString = ss => { const m = ss.length; for (let i = 0; i < length; i += m) for (let j = 0; j < m; j++) if (str[i+j] !== ss[j]) return false; return true; }; let factor = 2, len; while (length/factor >= 1){ while (length % factor) factor++; len = length/factor; if (checkSubString(str.substring(0,len))){ return true; }; factor++; }; return false; }; console.log(repeatedSubstring(str));

কোড ব্যাখ্যা:

প্রথমে সাবস্ট্রিং প্যাটার্ন চেক করার ফাংশন বানানো হয়েছে। তারপর স্ট্রিংয়ের দৈর্ঘ্যের সব সম্ভাব্য ফ্যাক্টর (যে দৈর্ঘ্যকে সমভাগ করে) চেক করা হয়েছে কোনো ভ্যালিড রিপিট প্যাটার্ন আছে কিনা।

আউটপুট

কনসোলে আউটপুট:

true

  1. জাভাস্ক্রিপ্টে স্ট্রিংয়ের সাবস্ট্রিংয়ে প্যারাগ্রাফ ট্যাগ যোগ করা

  2. জাভাস্ক্রিপ্টে স্ট্রিংয়ের ওজন (Weight) গণনা করা

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

  4. জাভাস্ক্রিপ্টে টাইম স্ট্রিং রেক্টিফাই করা (HH:MM:SS)