와이유스토리

[딕셔너리] 프로그래머스 [3차] 압축 Python 본문

코딩테스트/문자열

[딕셔너리] 프로그래머스 [3차] 압축 Python

유(YOO) 2022. 2. 4. 10:38

 

https://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):
    answer = []
    mp = {}
    num = 26
    
    # chr, ord
    for i in range(26):
        mp[chr(65+i)]=i+1
    
    i = 0
    while(i < len(msg)):
        j=i+1

        while msg[i:j] in mp:
            if j > len(msg):
                break
            j+=1
        
        if j > len(msg):
            answer.append(mp[msg[i:len(msg)]])
            break
        
        print(msg[i:j-1]+msg[i:j]+str(i)+str(j))
        num+=1
        answer.append(mp[msg[i:j-1]])
        mp[msg[i:j]]=num
        i=j-1

    return answer
Comments