



코딩테스트 연습 - [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 |