def solution(msg):
answer = []
tmp = {chr(e + 64): e for e in range(1, 27)}
num = 27
while msg:
# print(msg)
tt = 1
# print(tt)
#tmp가 포함하고 있는 "문자열"까지 찾기
while msg[:tt] in tmp.keys() and tt <= len(msg):
tt += 1
# print(tt)
tt -= 1
# print(tt)
# print("설렁탕")
if msg[:tt] in tmp.keys():
#tmp가 포함하고 있는 문자열의 "키값"을 answer에 추가
answer.append(tmp[msg[:tt]])
# print(answer)
#tmp가 포함하지 않은 문자열 넣기
tmp[msg[:tt + 1]] = num
num += 1
#tt가 1로 끝나느 경우에는 index 1부터 슬라이싱 tt가 2부터 끝나는 경우에는 2부터 슬라이싱
msg = msg[tt:]
return answer
'프로그래머스(파이썬) > LV.2(파이썬)' 카테고리의 다른 글
피로도 - for문 안에 재귀함수가 있는 경우★★+ return값 없음★ (0) | 2023.01.12 |
---|---|
주차요금계산 카카오→split(), 1차원 리스트 여러 개 변수로 받기 (0) | 2023.01.03 |
H-index → 논문을 적게 발표했지만, 인용된 수가 많은 good 케이스 (0) | 2023.01.03 |
더 맵게 → heap★★ (0) | 2023.01.02 |
귤 고르기→ Counter() 함수, most_common() (0) | 2023.01.02 |