มีสตริง s และ k ลบ k ตัวอักษรซ้ำติดกันที่พบก่อนซ้ำจนไม่มีแล้ว คืนสตริงท้ายสุด
เช่น s="paaappmmmma", k=3 ให้ "ma" (ลบ aaa→ppp→mmm)
ขั้นตอนการแก้ปัญหา
- วนลูปจนไม่มีการลบ:
- หาตัวอักษรที่มี k ตัวติดกันใน s
- แทนที่ k ตัวนั้นด้วย ""
- นับจำนวนครั้งที่ลบ ถ้า 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