알고리즘/프로그래머스

2018 KAKAO BLIND RECRUITMENT - 압축, 파이썬

그레고리력 2021. 3. 9. 22:00

1. 문제

- 프로그래머스 링크

 

2. 풀이

- 문제는 쉬운편인데 좀 파이썬답지않게 풀었다. 

- 최근 카카오 기출 경향과는 다른 문제

 

3. 코드

def sol(msg, arr, dic):
    if not msg :
        return 
    i = 0
    while msg[:i+1] in dic and i < len(msg):
        i += 1
    arr.append(dic[msg[:i]])
    dic[msg[:i+1]] = max(dic.values()) + 1
    sol(msg[i:], arr, dic)
    
def solution(msg):
    dic = {}
    for i in range(26) :
        dic[chr(ord('A')+i)] = i+1
    answer = []
    sol(msg, answer, dic)
    return answer