मान लीजिए कि हमारे पास दो तार s और t हैं। हम किसी वर्ण को किसी भी स्थिति में किसी भी स्वर में तभी बदल सकते हैं जब वह पहले से ही स्वर हो या व्यंजन में यदि वह पहले से ही एक व्यंजन हो। हमें यह जांचना है कि क्या s को t से दर्शाया जा सकता है या इसके विपरीत।
इसलिए, यदि इनपुट s ="udpmva", t ="itmmve" जैसा है, तो आउटपुट सही होगा क्योंकि हम u -> i, d -> t, p -> m, a -> e को रूपांतरित कर सकते हैं। पी>
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- s_size :=s का आकार
- यदि s_size t के आकार के समान नहीं है, तो
- झूठी वापसी
- 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