bumpsoo 2024-11-04 13:33:52 +09:00
parent d74f67ea6b
commit ed8c5a3088

View file

@ -0,0 +1,29 @@
# https://leetcode.com/problems/string-compression-iii
class Solution:
def compressedString(self, word: str) -> str:
last_char = None
l = 0
result = []
def to_string(ch, cnt, result):
if cnt <= 9:
result.append(str(cnt))
result.append(ch)
else:
cnt -= 9
result.append('9')
result.append(ch)
to_string(ch, cnt, result)
for ch in word:
if last_char == None:
last_char = ch
l = 1
continue
if last_char != ch:
to_string(last_char, l, result)
l = 1
last_char = ch
else:
l += 1
to_string(last_char, l, result)
return ''.join(result)