programmers.co.kr/learn/courses/30/lessons/60057
코딩테스트 연습 - 문자열 압축
데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문
programmers.co.kr
풀이 방법
- 1개~절반의 개수로 압축할 때의 문자열 길이 중 최솟값을 return한다.
- 문자열 비교는 슬라이싱을 이용한다.
전체 코드
def solution(s):
res = len(s)
for cut in range(1, len(s)//2+1):
answer = ''
cnt = 1
last = s[:cut]
for i in range(cut, len(s), cut):
if last == s[i: i+cut]:
cnt += 1
else:
if cnt != 1:
answer += str(cnt)
answer += last
last = s[i: i+cut]
cnt = 1
if cnt != 1:
answer += str(cnt)
answer += last
res = min(res, len(answer))
return res
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Python] 프로그래머스 level3 합승 택시 요금 (0) | 2021.04.06 |
---|---|
[Python] 프로그래머스 level3 자물쇠와 열쇠 (0) | 2021.04.02 |
[Python] 프로그래머스 level3 [1차] 추석 트래픽 (0) | 2021.04.02 |
[Python] 프로그래머스 level2 순위 검색 (0) | 2021.04.01 |
[Python] 프로그래머스 level2 메뉴 리뉴얼 (0) | 2021.04.01 |