[PG60057] 문자열 압축
✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺/프로그래머스

[PG60057] 문자열 압축

프로그래머스

🚩 문제 설명

https://programmers.co.kr/learn/courses/30/lessons/60057

 

코딩테스트 연습 - 문자열 압축

데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문

programmers.co.kr

프로그래머스 #60057

◾ 주어진 문자열을 최적화하여 압축하는 문제

 

 


 

 

✅ 입출력

s return
"aabbaccc" 7
"ababcdcdababcdcd" 9
"abcabcdede" 8
"abcabcabcabcdededededede" 14
"xababcdcdababcdcd" 17

 

 


 

 

📑 문제 풀이

with 파이썬 (Python)
def solution(s):
    ans = len(s)

    for i in range(1, len(s) // 2 + 2):
        res = ""
        cnt = 1
        tmp = s[:i]

        for j in range(i, len(s) + i, i):
            if tmp == s[j:j + i]:
                cnt += 1
            else:
                if cnt == 1:
                    res += tmp
                else:
                    res += str(cnt) + tmp
                tmp = s[j:j + i]
                cnt = 1
        ans = min(ans, len(res))
    return ans

 

 

 

 

 

 

 

 

 

 

 


 

728x90