ধরুন আমরা একটি স্ট্রিং s আছে. প্রদত্ত স্ট্রিংটি কোলিনড্রোম কিনা তা আমাদের পরীক্ষা করতে হবে। কোলিনড্রোম হল 6টি দৈর্ঘ্যের প্যালিনড্রোমের একটি সংযুক্ত স্ট্রিং।
সুতরাং, যদি ইনপুটটি s ="aabbaamnoonm" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ এতে "aabbaa" এবং "mnoonm" এর মতো প্যালিন্ড্রোম রয়েছে, উভয়ের দৈর্ঘ্য 6।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি s-এর আকার 6-এর একাধিক না হয়, তাহলে
- মিথ্যে ফেরত দিন
- আমি 0 থেকে s - 1 এর পরিসরে, 6 দ্বারা বৃদ্ধি, কর
- যদি s[সূচী i থেকে i+5 পর্যন্ত] প্যালিনড্রোম না হয়, তাহলে
- মিথ্যে ফেরত দিন
- যদি s[সূচী i থেকে i+5 পর্যন্ত] প্যালিনড্রোম না হয়, তাহলে
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def is_palindrome(s): return s == s[::-1] def solve(s): if len(s) % 6 != 0: return False for i in range(0, len(s), 6): if not is_palindrome(s[i : i+6]): return False return True s = "aabbaamnoonm" print(solve(s))
ইনপুট
"aabbaamnoonm"
আউটপুট
True