[프로그래머스] Lv.2 문자열 압축

Tony Kim·2022년 1월 25일
0
post-thumbnail

프로그래머스

Lv.2 문자열 압축

1.문제

input 문자열
output 단위별로 중복되면 압축

2. 풀이

X

3. 코드

def solution(s):
    answer = len(s)
    for i in range(1, len(s)//2 + 1):
        pos = 0
        length = len(s)
        while pos + i <= len(s):
            unit = s[pos:pos+i]
            pos += i
            cnt = 0
            while pos+i <= len(s):
                if unit == s[pos:pos+i]:
                    cnt += 1
                    pos += i
                else:
                    break
            if cnt > 0:
                length -= i * cnt
                if cnt < 9:
                    length += 1
                elif cnt < 99:
                    length += 2
                elif cnt < 999:
                    length += 3
                else:
                    length += 4
        answer = min(answer, length)
    return answer
profile
Back-end-dev

0개의 댓글