কম্পিউটার টিউটোরিয়াল

পাইথনে k সরাসরি ডুপ্লিকেট অক্ষর মুছে স্ট্রিং পরিশোধ

একটি স্ট্রিং s এবং একটি মান k দেওয়া আছে। বারবার সবচেয়ে আগের kটি συνεχিত ডুপ্লিকেট অক্ষর মুছে ফেলতে হবে এবং চূড়ান্ত স্ট্রিং ফেরত দিতে হবে।

উদাহরণ: s = "paaappmmmma", k = 3 হলে আউটপুট "ma"। কারণ "aaa" মুছে "pppmmmma" -> "ppp" মুছে "mmmma" -> "mmm" মুছে "ma"।

সমাধানের ধাপসমূহ

  • যবত কোনো পরিবর্তন হয়:
    • s-এর ইউনিক ক্যারেক্টারের জন্য লুপ চালান
    • যদি c*k স্ট্রিং-এ থাকে তবে সেটি রিপ্লেস করুন
    • কাউন্ট বাড়ান
  • কাউন্ট ০ হলে ব্রেক করুন
  • স্ট্রিং ফেরত দিন

উদাহরণ কোড

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
  1. পাইথনে একটি স্ট্রিং থেকে k ক্যারেক্টার মুছে বাকি সাবস্ট্রিংগুলো বের করুন

  2. পাইথনে স্ট্রিং-এ ডুপ্লিকেট ক্যারেক্টার খুঁজে বের করার প্রোগ্রাম

  3. পাইথন প্রোগ্রাম: স্ট্রিং-এ মিরর ক্যারেক্টার বের করা

  4. পাইথন ব্যবহার করে স্ট্রিং থেকে সকল ডুপ্লিকেট ক্যারেক্টার বের করা