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

পাইথনে সকল স্বরবর্ণ (vowel) সম্বলিত সাবস্ট্রিং খুঁজে বের করা

একটি ছোট হাতের অক্ষরের স্ট্রিং দেওয়া আছে। এমন সাবস্ট্রিং খুঁজে বের করতে হবে যেটিতে সব ৫টি স্বরবর্ণ (a, e, i, o, u) কমপক্ষে একবার আছে এবং কোনো ব্যঞ্জনবর্ণ (consonant) নেই।

উদাহরণ

ইনপুট: "helloworldaeiouaieuonicestring"

আউটপুট: ['aeiou', 'aeioua', 'aeiouai', 'aeiouaiu', 'eioua', 'eiouai', 'eiouaiu']

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

  1. প্রতিটি ইনডেক্স i থেকে শুরু করে সাবস্ট্রিং বানানো হয়।
  2. যদি কনসোনেন্ট (consonant) পাওয়া যায়, লুপ ভাঙানো হয়।
  3. স্বরবর্ণ পাওয়া যেতে একটি সেট/ম্যাপে রাখা হয়।
  4. যদি সেটের আকার ৫ হয় (সব স্বরবর্ণ পাওয়া গেলে), সাবস্ট্রিং প্রিন্ট করা হয়।

পাইথন কোড


def isVowel(x):
    return x in ['a', 'e', 'i', 'o', 'u']

def get_substrings(s):
    n = len(s)
    for i in range(n):
        my_map = {}
        for j in range(i, n):
            if not isVowel(s[j]):
                break
            my_map[s[j]] = 1
            if len(my_map) == 5:
                print(s[i:j + 1])

s = "helloworldaeiouaiunicestring"
get_substrings(s)

ইনপুট

"helloworldaeiouaiunicestring"

আউটপুট

aeiou aeioua aeiouai aeiouaiu eioua eiouai eiouaiu
  1. পাইথনে সব পয়েন্ট কানেক্ট করার ন্যূনতম খরচ বের করার প্রোগ্রাম

  2. পাইথনে একটি স্ট্রিং থেকে k ক্যারেক্টার মুছে বাকি সাবস্ট্রিংগুলো বের করুন

  3. পাইথনে নেস্টেড লিস্ট সহ লিস্টের সব উপাদানের সংখ্যা বের করুন

  4. পাইথনে বাইনারি ম্যাট্রিক্সে 0 দিয়ে ভরা সব আয়তাকার খুঁজে বের করা