문제
처음 작성한 코드 // 90.9 점 나옴
def solution(name):
alphabet = [chr(65+i) for i in range(26)]
result = ['A']*len(name)
answer = 0
cursor = 0
for idx,value in enumerate(name):
i = alphabet.index(value)
if i < 26-i:
answer += i
else:
answer += (26-i)
if idx+1!= len(name) and result[idx+1] != name[idx+1]:
if idx+1-cursor < cursor+1: # 오른쪽으로
answer+= (idx+1-cursor)
else: # 왼쪽으로 돌아서 맨 오른쪽으로
answer += cursor+1
cursor = idx+1 # 'A' 인 애들 뛰어넘기
return answer
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/42860#
깨달은 점
문제에서 "최소값"을 찾으라 하여 찾았는데.. 90.9점이 뜹니다.. 제 코드를 보시고 혹시 잘못된 점이 있다면 댓글에 남겨주시면 감사하겠습니다!!
'Programmers' 카테고리의 다른 글
카펫 (0) | 2021.01.03 |
---|---|
소수 찾기 (0) | 2021.01.03 |
기능개발 (0) | 2021.01.02 |
주식가격 (0) | 2021.01.01 |
이상한 문자 만들기 (0) | 2021.01.01 |