class Solution:
def removeDuplicates(self, s: str, k: int) -> str:
stack = [s[0]]
count = 1
while True:
for i in range(1, len(s), 1):
if len(stack) == 0:
count = 1
stack.append(s[i])
elif s[i] == stack[-1]:
count += 1
stack.append(s[i])
else:
count = 1
stack.append(s[i])
if count == k:
while count != 0:
stack.pop()
count -= 1
if len(s) == len(stack):
break
s = stack
stack = [s[0]]
count = 1
return "".join(stack)
1374C - Move Brackets | 1476A - K-divisible Sum |
1333A - Little Artem | 432D - Prefixes and Suffixes |
486A - Calculating Function | 1373B - 01 Game |
1187A - Stickers and Toys | 313B - Ilya and Queries |
579A - Raising Bacteria | 723A - The New Year Meeting Friends |
302A - Eugeny and Array | 1638B - Odd Swap Sort |
1370C - Number Game | 1206B - Make Product Equal One |
131A - cAPS lOCK | 1635A - Min Or Sum |
474A - Keyboard | 1343A - Candies |
1343C - Alternating Subsequence | 1325A - EhAb AnD gCd |
746A - Compote | 318A - Even Odds |
550B - Preparing Olympiad | 939B - Hamster Farm |
732A - Buy a Shovel | 1220C - Substring Game in the Lesson |
452A - Eevee | 1647B - Madoka and the Elegant Gift |
1408A - Circle Coloring | 766B - Mahmoud and a Triangle |