[프로그래머스/파이썬] Level 2 문자열 압축
https://programmers.co.kr/learn/courses/30/lessons/60057
알고리즘 분류
- 브루트포스
문제풀이
cut은 문자열을 자르는 단위 개수를 의미하고 1부터 문자열의 절반까지 가능하다.
temp로 초기 비교값을 가지며, 문자열 전체를 정한 cut단위로 반복해서 확인하고자 하는 비교값과 같은지 확인하고 같으면 num값을 1 더해준다.
만약 다르다면 해당 cut로 자른 문자열을 만들기 위해 result에 더해나간다.
참고: https://ddouo.tistory.com/12
소스코드
def solution(s):
length=[]
result=""
if len(s)==1:
return 1
for cut in range(1, len(s)//2+1):
temp=s[:cut]
num=1
for i in range(cut, len(s), cut):
if s[i:i+cut]==temp:
num+=1
else:
if num==1:
num=""
result+=str(num)+temp
temp=s[i:i+cut]
num=1
if num==1:
num=""
result+=str(num)+temp
length.append(len(result))
result=""
return min(length)
Author And Source
이 문제에 관하여([프로그래머스/파이썬] Level 2 문자열 압축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bye9/프로그래머스파이썬-Level-2-문자열-압축저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)