[프로그래머스 / Level 2] 문자열 압축 (파이썬) 2020 KaKao Blind Recruitment

khyojun·2022년 7월 10일
0

코테연습

목록 보기
2/21

📌문제 설명

📌제한 사항

s의 길이는 1 이상 1,000 이하입니다.
s는 알파벳 소문자로만 이루어져 있습니다.

📌 Solution
이번 문제를 풀면서 핵심은 문자열 슬라이싱을 어떻게 활용하는지이다.

def solution(s):
    answer = 10000
    cnt=1
    answer_s=""
    for cut in range(1,len(s)+1): 
        answer_s=""
        tmp=s[:cut]
        for j in range(cut, len(s)+cut, cut):     # len(s)+cut 하지 않으면 1번케이스일 경우 6이 됨. 즉 aabbac만 보고 
                                                  # 그 다음 cc는 값에 넣지 않고 그냥 지나가버림. 
            if tmp == s[j:j+cut]:
                cnt+=1
            else:
                if cnt==1:
                    answer_s=answer_s+tmp
                else:
                    answer_s=answer_s+str(cnt)+tmp
                tmp=s[j:j+cut]
                cnt=1
        answer=min(len(answer_s), answer)
        
    return answer

문제 해결하며 알게 된 점

  1. 파이썬에는 문자열 슬라이싱덕분에 쉽게쉽게 n개 단위별로 끊어낼 수 있었다. 슬라이싱을 많이 활용해야겠다.
profile
코드를 씹고 뜯고 맛보고 즐기는 것을 지향하는 개발자가 되고 싶습니다

0개의 댓글