문제:
풀이방법:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | def solution(name): answer = 0 name=list(name) base=["A"]*len(name) idx=0 while(True): rightidx=1 leftidx=1 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[idx]="A" if name ==base: break else: for i in range(1,len(name)): if name[idx+i]=="A": rightidx+=1 else: break if name[idx-i]=="A": leftidx+=1 else: break if rightidx>leftidx: answer+=leftidx idx-=leftidx else: answer+=rightidx idx+=rightidx return answer | cs |
'Algorithm > Python' 카테고리의 다른 글
[Programmers]Lv 2.더 맵게 (0) | 2019.02.10 |
---|---|
[Programmers]Lv 1.같은 숫자는 싫어 (0) | 2019.02.09 |
[Programmers]Lv 1.문자열 내 마음대로 정렬하기 (0) | 2019.02.07 |
[Programmers]Lv 2.주식 가격 (0) | 2019.02.06 |
[Programmers]Lv 1.소수 찾기 (0) | 2019.02.05 |