মনে করুন একটি পোস্টাল কোড আছে। আমাদের যাচাই করতে হবে এটি বৈধ কিনা। একটি বৈধ পোস্টাল কোডের শর্তাবলী:
- এটি 100000 থেকে 999999-এর মধ্যে একটি সংখ্যা হতে হবে (উভয়ই অন্তর্ভুক্ত)।
- এতে একাধিক অল্টারনেটিং রিপিটিটিভ ডিজিট পেয়ার থাকতে পারবে না।
ইনপুট s = "700035" হলে আউটপুট হবে True কারণ এটি 100000-999999-এর মধ্যে এবং কোনো কনsekutিভ ডিজিট নেই।
সমাধানের ধাপসমূহ:
- n := len(s), nb := 0, ok := True
- i = 0 থেকে n-1 পর্যন্ত: ok := ok এবং s[i] ডিজিট কিনা
- i = 0 থেকে n-3 পর্যন্ত: nb := nb + (1 যদি s[i] == s[i+2] অন্যথায় 0)
- ফেরত দিন: ok এবং 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