ধরুন আমাদের একটি স্ট্রিং আছে যার দৈর্ঘ্য সমান। আমাদের এই স্ট্রিংটিকে একই দৈর্ঘ্যের দুটি ভিন্ন অর্ধে ভাগ করতে হবে। তাই বিবেচনা করুন 'a' হল প্রথমার্ধ এবং 'b' হল দ্বিতীয়ার্ধ। আমরা বলি যে দুটি স্ট্রিং একই রকম হয় যখন তাদের একই সংখ্যক স্বরবর্ণ থাকে (বড় হাতের বা ছোট হাতের)। আমাদের পরীক্ষা করতে হবে 'a' এবং 'b' একই রকম কি না।
সুতরাং, যদি ইনপুটটি s ="প্রতিভা" এর মত হয়, তাহলে আউটপুট হবে True কারণ দুটি অর্ধাংশ হল "tal" এবং "ent", তারা একই কারণ তাদের শুধুমাত্র একটি স্বরবর্ণ এবং দুটি ব্যঞ্জনবর্ণ রয়েছে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
a :=s এর বাম অর্ধেক
-
b :=s এর ডান অর্ধেক
-
গণনা1 :=0, গণনা2 :=0
-
প্রতিটি c-এর জন্য a, do
-
যদি c একটি স্বরবর্ণ হয়, তাহলে
-
count1 :=count1 + 1
-
-
-
b-এ প্রতিটি c-এর জন্য, do
-
যদি c একটি স্বরবর্ণ হয়, তাহলে
-
count2 :=count2 + 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