ধরি আমাদের একটি লোয়ারকেস স্ট্রিং s আছে যাতে শুধু 'a' এবং 'b' ক্যারেক্টার আছে। আমাদের যাচাই করতে হবে প্রতিটি folyamত 'a' গ্রুপের পরে সমান দৈর্ঘ্যের 'b' গ্রুপ আছে কিনা।
উদাহরণস্বরূপ, s = "abaaabbbaabbaabbab" হলে আউটপুট হবে True, কারণ সব গ্রুপ: (ab), (aaabbb), (aabb), (aabb), (ab)।
সমাধানের ধাপসমূহ
- a_count := 0, string_len := s-এর সাইজ
- i := 0
- যতক্ষণ i < string_len:
- যতক্ষণ i < string_len এবং s[i] == 'a': a_count বাড়ান, i বাড়ান
- যতক্ষণ i < string_len এবং s[i] == 'b': a_count কমান, i বাড়ান
- যদি a_count != 0, তবে false রিটার্ন করুন
- true রিটার্ন করুন
উদাহরণ
def solve(s):
a_count = 0
string_len = len(s)
i = 0
while i < string_len:
while i < string_len and s[i] == 'a':
a_count += 1
i += 1
while i < string_len and s[i] == 'b':
a_count -= 1
i += 1
if a_count != 0:
return False
return True
s = "abaaabbbaabbaabbab"
print(solve(s))
ইনপুট
"abaaabbbaabbaabbab"
আউটপুট
True