ধরুন, দুটি স্ট্রিং s এবং t দেওয়া হয়েছে। আমরা যেকোনো পজিশনের ক্যারেক্টারকে শুধু বাওয়েল দিয়ে রিপ্লেস করতে পারি যদি সেটি বাওয়েল হয়, অথবা কনসোন্যান্ট দিয়ে যদি সেটি কনসোন্যান্ট হয়। আমাদের যাচাই করতে হবে যে s কি t-তে কনভার্ট করা যায়।
যেমন, ইনপুট s = "udpgma", t = "itmmve" হলে আউটপুট হবে True, কারণ u->i (বাওয়েল), d->t (কনসোন্যান্ট), p->m (কনসোন্যান্ট), a->e (বাওয়েল)।
সমাধানের ধাপসমূহ
- যদি
len(s) != len(t)হয়, তবে False। - প্রতিটি ইনডেক্স
iএর জন্য:- যদি
s[i]এবংt[i]দুটোই বাওয়েল হয়, তবে চালিয়ে যান। - যদি দুটোই কনসোন্যান্ট হয়, তবে চালিয়ে যান।
- অন্যথায় (একটি বাওয়েল আরেকটি কনসোন্যান্ট), False ফেরত দিন।
- যদি
- লুপ শেষ হলে True ফেরত দিন।
উদাহরণ কোড
def isVowel(x):
return x in ['a', 'e', 'i', 'o', 'u']
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 not isVowel(s[i]) and not isVowel(t[i]):
continue
else:
return False
return True
s, t = "udpgma", "itmmve"
print(solve(s, t))
ইনপুট
"udpgma", "itmmve"
আউটপুট
True