from string import ascii_uppercase
def solution(name):
answer = 0
pos = 0
moves=[]
#문제를 잘 읽자
#조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다.
#알파벳 리스트 만들기
alpha_list = list(ascii_uppercase)
#문제의 단어 하나씩 거리 분석
for i in range(len(name)):
end = len(alpha_list)
word_idx = alpha_list.index(name[i])
moves.append(min(word_idx,end-word_idx))
while True:
answer += moves[pos]
moves[pos] = 0
if sum(moves) == 0: break
left = 1
right = 1
while moves[pos - left] == 0:
left += 1
while moves[pos + right] == 0:
right += 1
if left >= right:
pos += right
answer += right
else:
pos -= left
answer += left
return answer
1. 알파벳 리스트 만들기
2. 알파벳 인덱스를 A 또는 Z 어디서 세는게 이득인지에 따라 작은 거 추출
3. A개수에 따라서 왼쪽으로 갈지 오른쪽으로 갈지 결정
'COMPUTER > 프로그래머스' 카테고리의 다른 글
[Python] 피로도 (0) | 2021.12.08 |
---|---|
[Python] 다리를 지나는 트럭 (0) | 2021.12.06 |
[Python]구명보트 (0) | 2021.11.22 |
[Python] 주식가격 (0) | 2021.11.16 |
[Oracle]입양 시각 구하기(2) (0) | 2021.11.15 |
댓글