압축할 문자열 s가 매개변수로 주어질 때, 위에 설명한 방법으로 1개 이상 단위로 문자열을 잘라 압축하여 표현한 문자열 중 가장 짧은 것의 길이를 return 하도록 solution 함수를 완성해주세요.
[입출력 예]
s | result |
---|---|
"aabbaccc" | 7 |
"ababcdcdababcdcd" | 9 |
"abcabcdede" | 8 |
"abcabcabcabcdededededede" | 14 |
"xababcdcdababcdcd" | 17 |
def solution(s):
sliceN = 0
min_ = 1000
for i in range(len(s)):
sliceN += 1
temp = s
before = ''
count = 0
answer = ''
repeat = 0
while repeat != 2:
slice_ = temp[:sliceN]
temp = temp[sliceN:]
if before =='':
before = slice_
elif before == slice_:
count+= 1
else:
if count == 0: answer += before
else: answer += str(count+1)+before
before = slice_
count = 0
if len(temp) == 0: repeat +=1
if min_ > len(answer): min_ = len(answer)
return min_