본문 바로가기
코딩테스트 파이썬/파이썬 프로그래머스 2단계

[3차] 압축

by 세용용용용 2023. 7. 15.

코딩테스트 연습 - [3차] 압축 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

나의 코드

def solution(msg):
    answer = []
    #사전 딕셔너리
    dict = {'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 True:
        #msg가 없어지면 while문 종료
        if len(msg) == 0:
            break

        str = ''
        for i in msg:
            #사전에 없는 글자가 있으면 사전에 추가해주고 for문 break
            if (str+i) not in dict:
                dict[str+i] = list(dict.values())[-1]+1
                break
            else:
                str += i
       
        #사전에 있는 글자 색인을 answer에 추가하고
        #넣은 글자를 없애줌
        answer.append(dict[str])
        msg = msg[len(str):]
    #print(answer)

    return answer
solution('ABABABABABABABAB')

'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글

더 맵게  (0) 2023.07.16
[3차] n진수 게임  (0) 2023.07.15
k진수에서 소수 개수 구하기  (0) 2023.07.14
전화번호 목록  (0) 2023.07.14
타겟 넘버  (0) 2023.07.12