문제출처: https://programmers.co.kr/learn/courses/30/lessons/60057
접근법
카카오 채용 기출문제이고 난이도는 프로그래머스 기준 Level 2이다.
반복되는 문자열 "abcabc" -> "2abc" 와 같이 얼마나 주어진 문자열을 압축할 수 있냐를 물어보는 것인데 단순구현 문제였지만 로직이 쉽게 짜지지 않았던 것 같다.
while(count <= len(s) + count ) 로 수정해도 통과 가능했다. ) result -= total*count - (count+ len(str(total)) )
코드
def solution(s): answer = len(s) count = 1 while(count < len(s) ): result = len(s) start = 0 while( start+1+count < len(s) ): s1 = s[start:start+count] n = start+count total = 1 while( n+count <= len(s) and s[n:n+count] == s1 ): total += 1 n += count if( total > 1 ): result -= total*count - (count+ len(str(total)) ) start = n answer = min(result,answer) count += 1 return answer