আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং নেয়। ইনপুট একটি পুনরাবৃত্তি অক্ষর ক্রম গঠিত কিনা তার উপর ভিত্তি করে এটি সত্য বা মিথ্যা ফেরত দেওয়া উচিত।
প্রদত্ত স্ট্রিংটির দৈর্ঘ্য সর্বদা 1 এর বেশি হয় এবং অক্ষর ক্রমটিতে কমপক্ষে একটি পুনরাবৃত্তি থাকতে হবে।
যেমন −
- "aa" সত্যে ফিরে আসা উচিত কারণ এটি সম্পূর্ণরূপে দুটি স্ট্রিং "a" ধারণ করে
- "aa" সত্যে ফিরে আসা উচিত কারণ এতে সম্পূর্ণরূপে তিনটি স্ট্রিং "a" রয়েছে
- "abcabcabc" সত্যে প্রত্যাবর্তন করা উচিত কারণ এতে সম্পূর্ণরূপে তিনটি স্ট্রিং রয়েছে "abc"
- "aba" মিথ্যা প্রত্যাবর্তন করা উচিত কারণ এটিতে কমপক্ষে দুটি একই সাবস্ট্রিং থাকা উচিত এবং এর বেশি কিছু নয়
- "ababa" কে মিথ্যা ফেরত দেওয়া উচিত কারণ "ab" দুইবার বিদ্যমান কিন্তু "a" অতিরিক্ত তাই মিথ্যা
উদাহরণ
const checkCombination = (str = '') => { if( str.length==1 ) { return true; }; for(let i = 1; i <= str.length / 2; i++){ if(str.length % i !== 0){ continue; } const sub = str.substring(0, i); if(isRepeating(sub, str)){ return true; }; }; return false; } const isRepeating = (sub, str) => { if(str.length > sub.length){ let left = str.substring(0,sub.length); let right = str.substring(sub.length, str.length); return left===sub && isRepeating(sub,right); }; return str === sub; } console.log(checkCombination('aa')); console.log(checkCombination('aaa')); console.log(checkCombination('abcabcabc')); console.log(checkCombination('aba')); console.log(checkCombination('ababa'));
আউটপুট
এটি নিম্নলিখিত আউটপুট −
তৈরি করবেtrue true true false false