मान लीजिए हमारे पास एक स्ट्रिंग s है जिसकी लंबाई सम है। हमें इस स्ट्रिंग को समान लंबाई के दो अलग-अलग हिस्सों में विभाजित करना है। मान लीजिए 'a' पहला आधा है और 'b' दूसरा आधा है। हम कहते हैं कि दो स्ट्रिंग्स समान हैं जब उनमें स्वरों (अपरकेस या लोअरकेस) की संख्या समान होती है। हमें जांचना है कि 'a' और 'b' समान हैं या नहीं।
इसलिए, यदि इनपुट है: s = "talent", तो आउटपुट True होगा क्योंकि दो आधे "tal" और "ent" हैं, वे समान हैं क्योंकि उनमें केवल एक स्वर और दो व्यंजन हैं।
हल करने के चरण
- a := s का बायां आधा
- b := s का दायां आधा
- count1 := 0, count2 := 0
- a में प्रत्येक c के लिए: यदि c स्वर है, तो count1++
- b में प्रत्येक c के लिए: यदि c स्वर है, तो count2++
- यदि count1 == count2 तो true वापस करें अन्यथा false
उदाहरण (Python)
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