[프로그래머스] 문자열 압축
사용 언어: Python3
문제
풀이
다른 풀이
def solution(s):
if len(s) == 1:
return 1
length_after_zip = [] # 각 단위로 압축 후 길이
# unit 단위로 압축
for unit in range(1, len(s) // 2 + 1):
res = '' # 압축한 문자열
tmp = s[:unit]
cnt = 1
for i in range(unit, len(s), unit):
if tmp == s[i:i+unit]:
cnt += 1
else:
res += str(cnt) + tmp if cnt > 1 else tmp
cnt = 1
tmp = s[i:i+unit] # tmp 갱신
res += str(cnt) + tmp if cnt > 1 else tmp
length_after_zip.append(len(res))
return min(length_after_zip)
- 테스트 케이스: 통과
- 제출 결과: 통과
💛 개인 공부 기록용 블로그입니다. 👻