코딩 테스트/문제 풀기

[프로그래머스] 압축

hazel_ 2021. 4. 2. 13:06

programmers.co.kr/learn/courses/30/lessons/17684

 

코딩테스트 연습 - [3차] 압축

TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34]

programmers.co.kr

 

def solution(msg):
    result=[]
    dic= {}
    for i in range(1,27):
        dic[chr(64+i)]=i
    dic_push_count=27

    w,c=0,0

    while True:
        c+=1
        if c==len(msg):
            result.append(dic[msg[w:c]])
            break

        if not msg[w:c+1] in dic:
            dic[msg[w:c+1]]=dic_push_count
            result.append(dic[msg[w:c]])
            dic_push_count+=1
            w=c

    return result