문제
https://school.programmers.co.kr/learn/courses/30/lessons/60057
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
해결한 방법
def solution(s):
len_str = len(s) # 문자열 길이
len_list = [len_str] # 줄인 길이 리스트
for i in range(1, len_str//2 + 1): # 문자열 길이의 절반까지 나눠보기
my_str = s
plus_num = 0
while(True):
if len(my_str) <= i:
break
overlap = 0
find_str = my_str[0:i]
while(True):
my_str = my_str.replace(find_str, "", 1)
if my_str.find(find_str) == 0:
overlap += 1
else:
break
if overlap:
plus_num += i+len(str(overlap+1))
else:
plus_num += i
len_list.append(len(my_str) + plus_num)
return min(len_list)
'알고리즘 공부 > 프로그래머스' 카테고리의 다른 글
프로그래머스 124 나라의 숫자 with Python (0) | 2022.07.30 |
---|---|
프로그래머스 멀쩡한 사각형 with Python (0) | 2022.07.30 |
프로그래머스 오픈채팅방 with Python (0) | 2022.07.30 |