프로그래머스 - 탐욕법(Greedy) - 조이스틱
작성언어: Python3
def solution(name):
answer = 0
idx = 0
base = 'A' * len(name)
while(True):
leftIdx = idx
rightIdx = idx
if(name[idx] != 'A'):
if(ord(name[idx]) - ord('A') > 13):
answer += 26 - (ord(name[idx]) - ord('A'))
else:
answer += ord(name[idx]) - ord('A')
name = name[0:idx] + 'A' + name[idx+1:]
if(name == base):
break
while(name[leftIdx] == 'A' and name[rightIdx] == 'A'):
answer += 1
if(leftIdx == 0):
leftIdx = len(name) - 1
else:
leftIdx -= 1
if(rightIdx == len(name)-1):
pass
else:
rightIdx += 1
if(name[rightIdx] != 'A'):
idx = rightIdx
else:
idx = leftIdx
return answer
pc 환경에서 코드를 보는 것을 권장합니다.
'알고리즘 문제 풀기 > Programmers' 카테고리의 다른 글
프로그래머스 - 탐욕법(Greedy) - 구명보트 (0) | 2020.01.01 |
---|---|
프로그래머스 - 탐욕법(Greedy) - 큰 수 만들기 (0) | 2019.12.31 |
프로그래머스 - 탐욕법(Greedy) - 체육복 (0) | 2019.12.28 |