ধরুন আমাদের একটি স্ট্রিং s এবং আরেকটি মান k আছে, আমরা বারবার প্রথম দিকের k ধারাবাহিক ডুপ্লিকেট অক্ষরগুলি মুছে ফেলি এবং চূড়ান্ত স্ট্রিংটি ফেরত দিই৷
সুতরাং, যদি ইনপুটটি s ="paaappmmmma" k =3 এর মত হয়, তাহলে আউটপুট হবে "ma", যেমন আমরা তিনটি "a"s মুছে দিয়ে "pppmmmma" পেতে পারি। তারপর আমরা "mmmma" পেতে তিনটি "p"s মুছে ফেলি। তারপর "ma" পেতে চারটি "m"s এর মধ্যে তিনটি মুছুন৷
৷এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব:
- নিম্নলিখিত ধাপগুলি অসীমভাবে করুন, করুন
- গণনা :=0
- অক্ষর :=s থেকে অনন্য অক্ষর পান
- অক্ষরে প্রতিটি অক্ষরের জন্য c, করুন
- যদি k পরপর c s হয়, তাহলে
- s থেকে k পরপর c মুছুন
- গণনা :=গণনা + 1
- যদি k পরপর c s হয়, তাহলে
- যদি গণনা 0 এর সমান হয়, তাহলে
- লুপ থেকে বেরিয়ে আসুন
- রিটার্ন
আরও ভালভাবে বোঝার জন্য আসুন নিম্নলিখিত বাস্তবায়ন দেখি:
উদাহরণ
class Solution: def solve(self, s, k): while True: count = 0 chars = set(s) for c in chars: if c * k in s: s = s.replace(c * k, "") count += 1 if count == 0: break return s ob = Solution() s = "paaappmmmma" k = 3 print(ob.solve(s, k))
ইনপুট
"paaappmmmma", 3
আউটপুট
ma