[Programmers] 문자열 압축

ironcat·2022년 3월 9일
0

알고리즘

목록 보기
8/17

알고리즘 문제풀이

문제 링크

def solution(s):
    answer = 0
    tmp = s
    min_length = len(s)
    for cut in range(1, len(tmp)//2 + 1):
        string_zip = tmp[:cut]
        cnt = 1
        result = ""
        for i in range(cut, len(tmp), cut): 
            split_word = tmp[i:i + cut]
            if string_zip == split_word:
                cnt += 1
            else:
                if cnt == 1:
                    cnt = ""
                
                result += str(cnt) + string_zip
                string_zip = split_word
                cnt = 1
        
        if cnt == 1:
            cnt = ""
        result += str(cnt) + string_zip
        min_length = min(len(result), min_length)           
                
    # print(min_length)
    return min_length

참고하면 좋을 소스

profile
공부하는 블로그

0개의 댓글