https://programmers.co.kr/learn/courses/30/lessons/60057
def solution(s):
str_len = len(s)
min_len = str_len
for cut_len in range(1, int((str_len + 1) / 2) + 1):
combo = 1
reduced_amt = 0
for i in range(0, str_len - cut_len, cut_len):
if i + cut_len > str_len:
break
if s[i:i + cut_len] == s[i + cut_len:i + 2*cut_len]:
reduced_amt += cut_len
combo += 1
if combo == 2 or combo == 10 or combo == 100:
reduced_amt -= 1
else:
combo = 1
result_len = str_len - reduced_amt
if result_len < min_len:
min_len = result_len
return min_len