ধরুন, একটি স্ট্রিং s দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে এটি কি a^n b^n প্যাটার্ন অনুসরণ করে। অর্থাৎ, প্রথমে কিছু 'a' থাকবে, তারপর ঠিক ততটুকু 'b' থাকবে। যেমন n=3 হলে স্ট্রিং হবে "aaabbb"।
যেমন, ইনপুট s = "aaaaabbbbb" হলে আউটপুট হবে True, কারণ এটি a^5 b^5 প্যাটার্ন।
সমাধানের ধাপসমূহ
size = len(s)।i = 0থেকে শুরু করে যতক্ষণs[i] == 'a',i++করুন।- যদি
i * 2 != sizeহয়, তবে False ফেরত দিন (কারণ a এবং b-এর সংখ্যা সমান হলে মোট দৈর্ঘ্য 2*i হবে)। j = iথেকেsize-1পর্যন্ত চেক করুন সব কি'b'। যদি না হয়, তবে False।- সব চেক পাস করলে True ফেরত দিন।
উদাহরণ কোড
def solve(s):
size = len(s)
for i in range(size):
if s[i] != 'a':
break
if i * 2 != size:
return False
for j in range(i, size):
if s[j] != 'b':
return False
return True
s = "aaaaabbbbb"
print(solve(s))
ইনপুট
"aaaaabbbbb"
আউটপুট
True