1번의 이동 횟수 = [name 길이]-1
2번의 이동 횟수는 그림을 보며 이해해보자.
def up_down(target):
if 65<=ord(target)<=78:
return ord(target)-65
else:
return 91-ord(target)
def solution(name):
answer = 0
# 상하 조작 횟수
for i in range(len(name)):
answer += up_down(name[i])
# 좌우 조작 횟수
lr = len(name)-1
for i in range(len(name)):
next=i+1
while next<len(name) and name[next] == 'A':
next += 1
# 오른쪽에서 왼쪽 좌우 조작 횟수
lr = min(lr,2*i+len(name)-next)
# 왼쪽에서 오른쪽 좌우 조작 횟수
lr = min(lr,2*(len(name)-next)+i)
answer += lr
return answer