더북(TheBook)

그 후 전체 문자열 길이의 만큼 반복문 순열을 실시합니다(range 범위에 answer 변수를 대신 넣는 것도 가능하지만, 그렇게 사용해야 할 정도로 공간 복잡도가 빡빡하지 않으므로 억지로 메모리를 줄이기 위해 조치할 필요가 없습니다).

answer = len(s)
for x in range(1, len(s) // 2 + 1):

2. 반복된 규칙을 확인하여 몇 번 반복되었는지/반복된 문자열이 무엇인지 기록한 후 반영합니다.

comp_len = 0
comp = ''
cnt = 1
for i in range(0, len(s) + 1, x):
    temp = s[i:i + x]
    if comp == temp: cnt += 1
    elif comp != temp:
        comp_len += len(temp)
        if cnt > 1: comp_len += len(str(cnt))
        cnt = 1
        comp = temp
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.