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

পাইথনে 'bird' শব্দ তৈরি করতে পারা এমন দৈর্ঘ্য-৪ সাবস্ট্রিং গণনা

একটি স্ট্রিং S (সব ছোট হাতের অক্ষর) দেওয়া আছে। দৈর্ঘ্য ৪-এর সাবস্ট্রিংগুলোতে যেগুলোর ক্যারেক্টার রি-অ্যারেঞ্জ (rearrange) করে "bird" শব্দটা বানানো যায়, তাদের সংখ্যা গুনতে হবে।

উদাহরণ

ইনপুট: "birdb"

আউটপুট: ২ (সাবস্ট্রিং: "bird" এবং "irdb")

সমাধানের পদ্ধতি

  1. স্ট্রিং-এ দৈর্ঘ্য ৪ এর সব সাবস্ট্রিং চেক করা হয় (i = 0 থেকে len-4)।
  2. প্রতিটি সাবস্ট্রিং-এ 'b', 'i', 'r', 'd' -র ফ্রিকোয়েন্সি ১ করে আছে কিনা চেক করা হয়।
  3. হলে কাউন্ট বাড়ানো হয়।

পাইথন কোড


def number_of_occurrence(s):
    cnt = 0
    for i in range(len(s) - 3):
        bird = [0, 0, 0, 0]  # b, i, r, d
        for j in range(i, i + 4):
            if s[j] == 'b':
                bird[0] += 1
            elif s[j] == 'i':
                bird[1] += 1
            elif s[j] == 'r':
                bird[2] += 1
            elif s[j] == 'd':
                bird[3] += 1
        if bird == [1, 1, 1, 1]:
            cnt += 1
    return cnt

s = "birdb"
print(number_of_occurrence(s))

ইনপুট

"birdb"

আউটপুট

2
  1. পাইথনে দিয়ে k সংখ্যক یونিক ক্যারেক্টার সম্বলিত দীর্ঘতম সাবস্ট্রিং খুঁজে বের করা

  2. পাইথনে স্ট্রিং-র সর্টেড ফর্মে প্যালিনড্রোমিক সাবস্ট্রিং গণনা

  3. পাইথনে দুটি স্ট্রিংয়ের মিলে যাওয়া ক্যারেক্টার কাউন্ট করা (Count matching characters in pair of strings)

  4. পাইথনে স্ট্রিংয়ের প্রথম পুনরাবৃত্ত শব্দ খুঁজে বের করার প্রোগ্রাম