Link : programmers.co.kr/learn/courses/30/lessons/17684
Python
더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
alphabet = dict()
for i in range(26):
alphabet[chr(i + 65)] = i + 1
def solution(msg):
maxlength = 1
answer = []
pos = 0
while pos < len(msg):
for i in range(maxlength, 0, -1):
if msg[pos:pos + i] in alphabet:
answer.append(alphabet[msg[pos:pos + i]])
alphabet[msg[pos:pos + i + 1]] = len(alphabet) + 1
maxlength = maxlength if i + 1 < maxlength else i + 1
pos += i
break
return answer
|
cs |
FeedBack
cjw.git@gmail.com
'알고리즘 > 소스코드' 카테고리의 다른 글
PROGRAMMERS 76502: 괄호 회전하기 (0) | 2021.06.21 |
---|---|
PROGRAMMERS 12985: 예상 대진표 (0) | 2021.04.05 |
PROGRAMMERS 1844: 게임 맵 최단거리 (0) | 2021.04.02 |
PROGRAMMERS 49994: 방문 길이 (0) | 2021.04.02 |
PROGRAMMERS 68936: 쿼드압축 후 개수 세기 (0) | 2021.04.02 |
댓글