コードテストJOY STIC解題


プログラマーJOY STIC(レベル2)回答
#조이스틱 위, 아래 움직여서 변환하는 횟수
def updown(data):
  result = 0
  for i in data:
    result += min(ord("Z")-ord(i)+1, ord(i)-ord("A"))
  return result

#전체 횟수구하기
def solution(data):
  answer = updown(data)
  print("단어변경", answer)
  data = list(data)
  data[0] = "A"
  if "".join(data) == 'A'*len(data):
    return answer
  tmp = 987654321
  for i in range(len(data)-1):
    t_data = data[:]
    t_data[i] = 'A'
    cnt = 1
    while(True):
      print(i," ",cnt," ",t_data)
      k = i-cnt
      if t_data[k] != 'A':
        t_data[k] = 'A'
      if "".join(t_data) == 'A'*len(t_data):
        tmp = min(tmp, cnt+i)
        print("tmp", tmp)
        break
      cnt += 1  
  return answer+tmp
何日か苦労して、やっと私を見つけた.
カーソルを左に移動するすべての場合、最小の各位置が見つかりました.
問題を解いた後、正解のコメントを見るのは普通ではないようです.
どうしても考えたくないなら.