ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে। আমরা কেবলমাত্র একটি অক্ষরকে যেকোনো অবস্থানে যেকোনো স্বরবর্ণে পরিবর্তন করতে পারি যদি এটি ইতিমধ্যে একটি স্বর হয় বা একটি ব্যঞ্জনবর্ণ যদি এটি ইতিমধ্যে একটি ব্যঞ্জনবর্ণ হয়। আমাদের চেক করতে হবে s কে t বা বিপরীতভাবে উপস্থাপন করা যেতে পারে।
সুতরাং, যদি ইনপুটটি s ="udpmva", t ="itmmve" এর মত হয়, তাহলে আউটপুটটি True হবে কারণ আমরা u -> i, d -> t, p -> m, a -> eপি>
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- s_size :=s এর আকার
- যদি s_size টি আকারের সমান না হয়, তাহলে
- মিথ্যে ফেরত দিন
- আমি 0 থেকে s_size রেঞ্জের জন্য, কর
- যদি s[i] এবং t[i] স্বরবর্ণ হয়, তাহলে
- পরবর্তী পুনরাবৃত্তির জন্য যান
- অন্যথায় যখন s[i] এবং t[i] স্বরবর্ণ হয় না, তখন
- পরবর্তী পুনরাবৃত্তির জন্য যান
- অন্যথায়,
- মিথ্যে ফেরত দিন
- যদি s[i] এবং t[i] স্বরবর্ণ হয়, তাহলে
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def isVowel(x): if x in ['a', 'e', 'i', 'o', 'u']: return True return False def solve(s, t): s_size = len(s) if (s_size != len(t)): return False for i in range(s_size): if (isVowel(s[i]) and isVowel(t[i])): continue elif ((isVowel(s[i])) == False and ( isVowel(t[i]) == False)): continue else: return False return True s, t = "udpgma", "itmmve" print(solve(s, t))
ইনপুট
"udpgma", "itmmve"
আউটপুট
True