मान लीजिए कि हमारे पास एक स्ट्रिंग है जिसकी लंबाई सम है। हमें इस स्ट्रिंग को समान लंबाई के दो अलग-अलग हिस्सों में विभाजित करना है। तो मान लें कि 'ए' पहली छमाही है और 'बी' दूसरी छमाही है। हम कहते हैं कि दो तार एक जैसे होते हैं जब उनके स्वरों की संख्या समान होती है (अपरकेस या लोअरकेस)। हमें जांचना है कि 'ए' और 'बी' एक जैसे हैं या नहीं।
इसलिए, यदि इनपुट s ="प्रतिभा" जैसा है, तो आउटपुट सही होगा क्योंकि दो भाग "ताल" और "ent" हैं, वे एक जैसे हैं क्योंकि उनमें केवल एक स्वर और दो व्यंजन हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
a :=s का बायां आधा
-
b :=s का दायां आधा हिस्सा
-
गिनती1:=0, गिनती2:=0
-
प्रत्येक c के लिए a, do
-
अगर c एक स्वर है, तो
-
गिनती1 :=गिनती1 + 1
-
-
-
b में प्रत्येक c के लिए, करें
-
अगर c एक स्वर है, तो
-
गिनती 2 :=गिनती 2 + 1
-
-
-
अगर गिनती 1 गिनती 2 के समान है, तो सही है, अन्यथा गलत है
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(s): vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'] a = s[:len(s)//2] b = s[len(s)//2:] count1 = 0 count2 = 0 for c in a: if c in vowels: count1 += 1 for c in b: if c in vowels: count2 += 1 return count1 == count2 s = "talent" print(solve(s))
इनपुट
"talent"
आउटपुट
True