একটি স্ট্রিং 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