Fantastic Chu's World
[2020KAKAO][Python] 문자열 압축 본문
programmers.co.kr/learn/courses/30/lessons/60057
코딩테스트 연습 - 문자열 압축
데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자
programmers.co.kr
def solution(s):
answer = len(s)
# 1개 단위부터 압축 단위를 늘려가며 확인
for step in range(1,len(s)):
com = ""
count = 1
prev = s[0:step] # 앞에서 step만큼 문자열 추출
# step만큼 증가하며 이전 문자열과 비교
for i in range(step, len(s), step):
# 이전 문자열과 같으면 count + 1
if prev == s[i:i+step]:
count += 1
else:
# 더이상 압축하지 못하면 문자열에 넣기
com += str(count) + prev if count >= 2 else prev
prev = s[i:i+step] #초기화
count = 1
# 마지막에 남은 문자열에 대해서 처리
com += str(count) + prev if count >= 2 else prev
# 만들어진 압축 문자열이 가장 짧은지 확인
answer = min(answer, len(com))
return answer
'Python > 구현' 카테고리의 다른 글
[2020KAKAO][Python] 자물쇠와 열쇠 (구현, 완전탐색) (0) | 2020.09.12 |
---|---|
[2020KAKAO][Python] 기둥과 보 설치 (0) | 2020.09.12 |
[2020KAKAO][Python] 괄호 변환 (0) | 2020.09.11 |
[백준][Python] 2846번 : 오르막 길 (0) | 2020.09.09 |
[백준][Python] 15686번 : 치킨 배달 (0) | 2020.09.09 |
Comments