//상하이동 - 문자를 바꿈//좌우이동 - 커서위치를 바꿈#include <bits/stdc++.h>using namespace std;int solution(string name){ int answer = 0; int n = name.length(); for(int i = 0; i < n; i++) //상하 이동 { char a = name[i]; answer += min(a - 'A', 'Z' - a + 1); //min(A에서 출발하는것과 Z에서 출발하는것) } int move = n - 1; //그냥 오른쪽 직진 for(int i = 0; i < n; i++) //좌우 이동 { int next = i + 1; //next는 A가 끝나는지점을 찾기위한 변수 while(next < n && name[next] == 'A') //문자열이 끝나지않았거나 다음이 A라면 계속해서 탐색 { next++; } int distance = i + (n - next); //왼쪽으로 갔을때 거리 move = min(move, distance); } answer += move; return answer;}