কম্পিউটার টিউটোরিয়াল

পাইথনে বাইনারি স্ট্রিং-এ সর্বোচ্চ একটি ১-वाले সেগমেন্ট আছে কিনা যাচাই


একটি বাইনারি স্ট্রিং s দেওয়া আছে (লিডিং জিরো ছাড়া)। s-এ সর্বোচ্চ একটি সংলগ্ন ১-वाले সেগমেন্ট আছে কিনা যাচাই করতে হবে।

যেমন, s = "11100" হলে আউটপুট True কারণ শুধু একটা "111" সেগমেন্ট আছে।

সমাধানের ধাপসমূহ

  • count := -1
  • যদি s-এর দৈর্ঘ্য == 1 হয়, তবে True ফেরত দিন।
  • s-এর প্রতিটি i এর জন্য:
    • যদি i == "1" এবং count > -1 হয়, তবে False ফেরত দিন (দ্বিতীয় সেগমেন্ট পাওয়া গেলো)।
    • অন্যথায় যদি i == "0" হয়, তবে count += 1
  • True ফেরত দিন।

উদাহরণ

def solve(s):
    count = -1
    if len(s) == 1:
        return True
    for i in s:
        if i == "1" and count > -1:
            return False
        elif i == "0":
            count += 1
    return True

s = "11100"
print(solve(s))

ইনপুট

11100

আউটপুট

True

  1. পাইথনে DFA ব্যবহার করে বাইনারি স্ট্রিং ৩ দিয়ে বিভাজ্য কিনা

  2. দেওয়া স্ট্রিংটি পাইথন কিওয়ার্ড কিনা চেক করার প্রোগ্রাম

  3. পাইথনে স্ট্রিং খালি কিনা চেক করা

  4. পাইথনে বাক্য প্যাংগ্রাম (pangram) কিনা যাচাই করার প্রোগ্রাম