function solution(name) {
const alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
let minMoves = name.length - 1;
const totalMove = [...name].reduce((count, el, idx) => {
if (el !== "A") return count + verticalMove(el, alphabets);
let nextIdx = idx + 1;
let countA = 0;
while (nextIdx < name.length && name.charAt(nextIdx) == "A") {
nextIdx++;
countA++;
}
let moves =
(name.charAt(0) == "A" ? 0 : (idx - 1) * 2) +
(name.length - (1 + idx + countA));
if (minMoves > moves) minMoves = moves;
return count;
}, 0);
return totalMove + minMoves;
}