파이썬 알고리즘-123 (프로그래머스) 압축

jiffydev·2021년 3월 17일
0

Algorithm

목록 보기
130/134

코드

다른 사람의 풀이

def solution(msg):
    answer = []
    # 사전을 생성
    tmp = {chr(e + 64): e for e in range(1, 27)}
    num = 27
    while msg:
        tt = 1
        while msg[:tt] in tmp.keys() and tt <= msg.__len__():
            tt += 1
        tt -= 1
        if msg[:tt] in tmp.keys():
            answer.append(tmp[msg[:tt]])
            tmp[msg[:tt + 1]] = num
            num += 1
        msg = msg[tt:]
    return answer

chr()

정수를 인자로 넣어, 인자에 해당하는 유니코드 문자를 돌려주는 메소드.
풀이에서는 딕셔너리의 key로 알파벳을 만들기 위해 사용했다.

string.ascii_uppercase

알파벳 대문자를 제공해주는 모듈로, list를 씌우면 한 문자가 하나의 원소인 리스트가 나온다.

profile
잘 & 열심히 살고싶은 개발자

0개의 댓글