본문 바로가기

알고리즘

프로그래머스 문자열 압축 - 2020 KAKAO BLIND RECRUITMENT (파이썬)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def slice_str(s, n): return [s[i:i+n] for i in range(0len(s), n)]
def solution(s):
    if len(s) == 1return 1
    answer_list = []
    for i in range(1len(s)//2 + 1):
        sliced_str = slice_str(s, i)
        count = 1
        result_str = ""
        for j in range(len(sliced_str)):
            if j < len(sliced_str) - 1:
                if sliced_str[j] == sliced_str[j+1]: count += 1
                elif count != 1
                    result_str += (str(count) + sliced_str[j])
                    count = 1
                else: result_str += sliced_str[j]
            else:
                if count != 1: result_str += (str(count) + sliced_str[j])
                else : result_str += sliced_str[j]
        answer_list.append(result_str)
    answer_list = sorted(answer_list, key=lambda x : len(x))
    return len(answer_list[0])
 
cs