728x90

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

 

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

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

programmers.co.kr

def solution(s):
    answer = 0
    length = []
    for i in range((len(s)+1)//2, 0, -1):
        pos = i
        first = s[:i]
        result = ''
        cnt = 1
        while True:
            if first == s[pos:pos+i]:
                cnt += 1
                pos += i
            else:
                if cnt == 1:
                    result += first
                else:
                    result += (str(cnt)+first)

                if pos+i > len(s):
                    result += s[pos:]
                    break

                first = s[pos:pos+i]
                pos += i
                cnt = 1
        length.append(len(result))
    answer = min(length)
    return answer

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기