문제

 

내가 작성한 코드 (틀림)
import heapq

def solution(s):
    result_l = []
    for i in range(1, len(s) + 1):
        result = ''
        cnt = 0
        for j in range(len(s)):
            if s[j: j+i] == s[j+i: j+ (2*i)]:
                cnt += 1
            else:
                result += (str(cnt) + s[j: j+i]).replace('0', '')
                cnt = 0
        result_l.append(len(result))
        
    return min(result_l)

> 굉장히 어렵구만....

>  코드 실행에서 2개, 제출 후 체점하기에서는 16 / 100 의 점수가 나왔다... ㅜㅜ

 

참고 코드
def solution(s):
    answer = 10000
    if len(s) == 1:
        return 1
    for n in range(1, (len(s)//2) + 1):
        res = ''
        cnt = 1
        tmp = s[: n] # 단위문자열 초기화
        
        for i in range(n, len(s)+n, n):
            if tmp == s[i: i+ n]:
                cnt += 1
            else:
                if cnt == 1:
                    res += tmp
                else:
                    res += str(cnt) + tmp
                tmp = s[i : i + n]
                cnt = 1
        answer = min(answer, len(res))
    return answer

> https://eunhee-programming.tistory.com/135

 

코딩테스트 준비 - 프로그래머스: 문자열 압축 풀이+상세 (파이썬)

프로그래머스: 문자열 압출 풀이 문제 풀러 가기 https://programmers.co.kr/learn/courses/30/lessons/60057?language=python3 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열..

eunhee-programming.tistory.com

> 좀 더 논리적으로 생각해보자!! 

> 할수 있다!!!

+ Recent posts