Python) 문자열 압축

난이도 : Level 2
유형 : 2020 KAKAO BLIND RECRUITMENT
카테고리 : 프로그래머스
날짜 : 2022-02-24

문제 풀이

처음에는 하나씩 다음부터 두 개씩, 세 개씩 쪼개는 형식으로 for문을 돌린다. 그 중 길이가 제일 작은 값은 return 한다.

전체 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def solution(s): 
answer = []
if len(s) == 1:
return 1
for i in range(1, (len(s)//2)+1):
b = ''
cnt = 1
tmp = s[:i]

for j in range(i, len(s), i):
if tmp == s[j:i+j]:
cnt+=1
else:
if cnt != 1:
b = b + str(cnt) + tmp
else:
b = b + tmp
tmp = s[j:j+i]
cnt = 1
if cnt != 1:
b = b + str(cnt) + tmp
else:
b = b + tmp

answer.append(len(b))
return min(answer)
Author

Sujeong Kim

Posted on

2022-02-24

Updated on

2022-02-24

Licensed under

댓글