728x90
https://school.programmers.co.kr/learn/courses/30/lessons/17684
- 풀이
- 사전에 다음 글자가 추가된 글자가 없으면 추가하고 색인번호 출력
- 입력한 단어는 지우고 남은 단어로 반복
- 있다면 추가하여 확인해보기
- 사전에 다음 글자가 추가된 글자가 없으면 추가하고 색인번호 출력
- 코드
def solution(msg):
# 사전
alpha = {chr(i+65):i+1 for i in range(26)}
answer = []
while True:
# 해당 글자가 사전에 있다면 끝
if msg in alpha:
answer.append(alpha[msg])
break
for i in range(1,len(msg)):
# 다음 글자 추가 한 글자가 사전에 있는가?
# 없다면
if msg[:i+1] not in alpha:
# 이전 글자 번호 출력
answer.append(alpha[msg[:i]])
# 사전에 추가
alpha[msg[:i+1]] = len(alpha)+1
# 다음 글자부터 확인하기
msg = msg[i:]
break
return answer
728x90
반응형
'TIL - 프로그래밍 > Python 알고리즘' 카테고리의 다른 글
이코테 Q.28 고정점 찾기 (0) | 2023.03.09 |
---|---|
[프로그래머스] 가사 검색 - Python (0) | 2023.03.08 |
이코테 Q.27 정렬된 배열에서 특정 수의 개수 구하기 (0) | 2023.03.08 |
이것이 취업을 위한 코딩 테스트다 CHAPTER 07 이진 탐색 (0) | 2023.03.07 |
[프로그래머스] 보석 쇼핑 - Python (0) | 2023.03.07 |
댓글