সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং str নেবে। ফাংশনটি স্ট্রিংয়ের অ্যালফাবেটগুলোকে তাদের আগের নম্বর অনুযায়ী ভ্যালিডেট করবে।
স্ট্রিংকে নম্বর দিয়ে স্প্লিট করতে হবে, এবং তারপর নম্বরগুলোকে ফলোয়িং সাবস্ট্রিংয়ের দৈর্ঘ্যের সাথে তুলনা করতে হবে। সবগুলো মিললে স্ট্রিংটি বৈধ এবং true রিটার্ন করবে, অন্যথায় false।
উদাহরণস্বরূপ:
5hello4from2me
true রিটার্ন করবে।
কারণ নম্বর দিয়ে স্প্লিট করলে স্ট্রিং হয়ে যায় 'hello', 'from', 'me' এবং এই স্ট্রিংগুলোর দৈর্ঘ্য তাদের আগের নম্বরের সমান।
উদাহরণ
নিচে কোড দেওয়া হলো:
const str = '5hello4from2me';
const validateString = (str = '') => {
const lenArray = [];
let temp = '';
for(let i = 0; i < str.length; i++){
const el = str[i];
if(+el){
lenArray.push([+el, '']);
}else{
const { length: len } = lenArray;
lenArray[len - 1][1] += el;
};
};
return lenArray.every(sub => sub[0] === sub[1].length);
};
console.log(validateString(str));
আউটপুট
কনসোল আউটপুট:
true