ধরুন আমাদের একটি ছোট হাতের স্ট্রিং আছে। আমাদের কাজ হল স্ট্রিং-এ উপস্থিত স্বরবর্ণগুলিকে বিপরীত করা। সুতরাং যদি স্ট্রিংটি "হ্যালো" হয়, তাহলে স্বর বিপরীতের পরে স্ট্রিংটি "হোল" হবে। স্ট্রিং "প্রোগ্রামিং" এর জন্য, এটি হবে "প্রিগ্রামমং"
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- স্ট্রিংটি নিন এবং স্বরগুলির একটি তালিকা তৈরি করুন এবং তাদের সূচকগুলিও সংরক্ষণ করুন
- স্বর তালিকাটি বিপরীত করুন
- idx সেট করুন :=0
- এর জন্য i :=0 থেকে প্রদত্ত স্ট্রিং এর দৈর্ঘ্য – 1
- যদি আমি সূচক তালিকায় থাকি -
- স্বরগুলিকে [i] চূড়ান্ত স্ট্রিংয়ে রাখুন
- idx :=idx + 1
- অন্যথায় স্ট্রিং[i]কে চূড়ান্ত স্ট্রিংয়ে রাখুন
- যদি আমি সূচক তালিকায় থাকি -
- তালিকাটিকে একটি স্ট্রিং হিসাবে ফিরিয়ে দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
class Solution: def reverseVowels(self, s): chars = list(s) index = [] vowels = [] for i in range(len(chars)): if chars[i] in ['a','e','i','o','u']: vowels.append(chars[i]) index.append(i) vowels = vowels[::-1] final = [] ind = 0 for i in range(len(chars)): if i in index: final.append(vowels[ind]) ind += 1 else: final.append(chars[i]) str1 = "" return str1.join(final) ob1 = Solution() print(ob1.reverseVowels("hello")) print(ob1.reverseVowels("programming"))
ইনপুট
"hello" "programming"
আউটপুট
holle prigrammong