코테 준비/구현
[프로그래머스] 3차 압축 (LZW 알고리즘)
imsmile2000
2023. 1. 26. 03:25
from string import ascii_uppercase
def solution(msg):
answer=[]
alphabet = {}
for i in range(len(ascii_uppercase)):
alphabet[ascii_uppercase[i]] = i+1 #알파벳 만들기
k=0 #start
i=len(msg) #end
while True:
if msg[k:i] in alphabet:
answer.append(alphabet[msg[k:i]])
if i>=len(msg):
return answer # while 문 종료
alphabet[msg[k:i+1]]=len(alphabet)+1
k+=len(msg[k:i])
i=len(msg)
else: #이미 알파벳에 있으면
i-=1 #end 길이 -1