ধরুন আমাদের একটি বাইনারি স্ট্রিং s এবং আরেকটি মান m আছে, আমাদের পরীক্ষা করতে হবে যে স্ট্রিংটিতে m পরপর 1 আছে নাকি m পরপর 0 আছে।
সুতরাং, যদি ইনপুটটি s ="1110111000111", m =3 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ সেখানে পরপর তিনটি 0s এবং 1s আছে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- str_size :=s এর আকার
- count_0 :=0, count_1 :=0
- আমি 0 থেকে str_size - 2 রেঞ্জের জন্য, কর
- যদি s[i] '0' এর মত হয়, তাহলে
- count_1 :=0
- count_0 :=count_0 + 1
- অন্যথায়,
- count_0 :=0
- count_1 :=count_1 + 1
- যদি count_0 m এর সমান বা count_1 m এর সমান, তাহলে
- সত্য ফেরান
- যদি s[i] '0' এর মত হয়, তাহলে
- মিথ্যে ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def solve(s, m): str_size = len(s) count_0 = 0 count_1 = 0 for i in range(0, str_size - 1): if (s[i] == '0'): count_1 = 0 count_0 += 1 else : count_0 = 0 count_1 += 1 if (count_0 == m or count_1 == m): return True return False s = "1110111000111" m = 3 print(solve(s, m))
ইনপুট
"1110111000111", 3
আউটপুট
True