একটি ছোট হাতের অক্ষরের স্ট্রিং দেওয়া আছে। এমন সাবস্ট্রিং খুঁজে বের করতে হবে যেটিতে সব ৫টি স্বরবর্ণ (a, e, i, o, u) কমপক্ষে একবার আছে এবং কোনো ব্যঞ্জনবর্ণ (consonant) নেই।
উদাহরণ
ইনপুট: "helloworldaeiouaieuonicestring"
আউটপুট: ['aeiou', 'aeioua', 'aeiouai', 'aeiouaiu', 'eioua', 'eiouai', 'eiouaiu']
সমাধানের পদ্ধতি
- প্রতিটি ইনডেক্স i থেকে শুরু করে সাবস্ট্রিং বানানো হয়।
- যদি কনসোনেন্ট (consonant) পাওয়া যায়, লুপ ভাঙানো হয়।
- স্বরবর্ণ পাওয়া যেতে একটি সেট/ম্যাপে রাখা হয়।
- যদি সেটের আকার ৫ হয় (সব স্বরবর্ণ পাওয়া গেলে), সাবস্ট্রিং প্রিন্ট করা হয়।
পাইথন কোড
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