ধরুন আমাদের একটি পোস্টাল কোড আছে তা বৈধ কি না তা যাচাই করতে হবে। একটি বৈধ পোস্টাল কোডের নিম্নলিখিত মানদণ্ড রয়েছে
-
এটি অবশ্যই 100000 থেকে 999999 পর্যন্ত একটি সংখ্যা হতে হবে (উভয়ই অন্তর্ভুক্ত)।
-
এটিতে একটির বেশি পর্যায়ক্রমে পুনরাবৃত্তিমূলক অঙ্ক জোড়া থাকা উচিত নয়৷
সুতরাং, যদি ইনপুটটি s ="700035" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ এটি 100000 থেকে 999999 রেঞ্জের মধ্যে এবং এখানে কোনো ধারাবাহিক সংখ্যাও নেই।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- n :=s এর আকার
- nb :=0
- ঠিক আছে :=সত্য
- আমি 0 থেকে n - 1 রেঞ্জের জন্য, কর
- ঠিক আছে :=ঠিক আছে এবং s[i] একটি অঙ্ক, তারপর
- আমি 0 থেকে n-3 রেঞ্জের জন্য, কর
- nb :=nb + (1 যদি s[i] s[i+2] এর মত হয় অন্যথায় 0)
- রিটার্ন (সত্য যখন ঠিক আছে সত্য এবং n 6 এর সমান এবং s[0] '0' এবং nb <2 এর মতো নয়), অন্যথায় মিথ্যা ফেরত দিন
উদাহরণ
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
def solve(s): n = len(s) nb = 0 ok = True for i in range(n): ok = ok and s[i].isdigit() for i in range(n-2): nb += s[i] == s[i+2] return ok and n == 6 and s[0] != '0' and nb < 2 s = "700035" print(solve(s))
ইনপুট
"700035"
আউটপুট
True