https://school.programmers.co.kr/learn/courses/30/lessons/60057
def solution(s):
s=list(s)
answer = 10001
for i in range(1, len(s)+1) :# 자름 가능 간격 경우 1개부터 문자열 길이까지
beforestr="" #이전 문자열
tot = "" # 최종 문자열
cnt = 0
for j in range(0, len(s)+1,i) : # 1 2 3 4 5 6 간격 2 라면 , 1-3-5 일캐
if j+i>len(s) : # 만약 마지막 넘어가면 (이 예외처리 필수인가 검증 필요)
strr = "".join(s[j:len(s)])
else :
strr = "".join(s[j:j+i])
if beforestr == strr : # 이전 문자열과 동일하면
cnt+=1
else :
if cnt>1 :
tot+=str(cnt)
tot+=beforestr
else :
tot+=beforestr
if j+i>len(s) : # 예외처리 필요 ! 이거 안하면 마지막 차례인 문자열 안붙음
tot+=strr
cnt = 1 # 이제 새로운 시작이니깐 cnt 초기화
beforestr = strr # 이전 문자열을 strr로 갱쉰
# print("tot " ,tot)
if len(tot)<answer :
answer = len(tot)
return answer