[파이썬][프로그래머스] Lv. 2 [3차] 압축
def solution(msg):
answer = []
# index temp 파일 생성
index_list = {
"A":1, "B":2, "C":3, "D":4, "E":5, "F":6, "G":7, "H":8, "I":9, "J":10,
"K":11, "L":12, "M":13, "N":14, "O":15, "P":16, "Q":17, "R":18, "S":19, "T":20,
"U":21, "V":22, "W":23, "X":24, "Y":25, "Z":26
}
while len(msg) != 0:
# 최대 w 찾기
w = ''
temp = 0
for i in range(len(msg)):
if msg[0:i+1] in index_list.keys():
w_index = index_list[msg[0:i+1]] # 11
w = msg[0:i+1] # K
answer.append(w_index)
# 입력에서 w 제거
msg = msg[len(w):]
# w 색인 번호 출력
# 다음글자가 있을시 w+c 사전등록
if len(msg) != 0:
index_list[w+msg[0]] = len(index_list)+1
else:
index_list[w] = len(index_list)+1
return answer