본문 바로가기
🔅코딩테스트 공부🔅/❗프로그래머스(Lv.2)

[프로그래머스] Level2 문자열 압축(python)

by 윤무무 2023. 4. 25.

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 내가 작성한 풀이
def solution(s):
    min_result = len(s)

    for i in range(1,len(s)//2+1): #문자 단위의 개수
        start = 0
        end = i
        temp = [0,s[start:end]]
        record = ""
        for _ in range(len(s)//i+1):
            if temp[1] != s[start:end]: #temp값과 자른 값이 같지 않은 경우
                if temp[0] >= 2:
                    record += str(temp[0])
                    record += temp[1]
                else: #반복되는 수가 2보다 작을 경우 숫자는 삽입x
                    record += temp[1]
                temp = [1,s[start:end]]
            else:
                temp[0] += 1
            start += i
            end += i
            final_end = end-2*i
		
        #남아있는 글자가 있으면 합쳐주기
        if final_end < len(s): 
            record += s[final_end:]
		
        #최솟값 찾기
        min_result = min(min_result, len(record))

    return min_result

 

 

비슷한 방법인데 아래를 참고하면 훨씬 더 간단하게 풀 수 있다,, ㅠㅠ

 

https://ljhyunstory.tistory.com/18

 

코딩테스트 --- 문자열 압축-(프로그래머스 / 파이썬)

https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데

ljhyunstory.tistory.com

 

 

 

댓글