그리디 라고 해서 그리디로 풀려고 했는데 몇시간 동안 고생해도 답이 안나와서 포기하고 답 확인함
문제가 너무 어려워서 풀이를 한참동안 보고 이해한다고 고생했다.
※ https://yummy0102.tistory.com/359 참고함
package com.company;
// https://yummy0102.tistory.com/359 참고함
class Solution {
public int solution(String name) {
int answer = 0;
int index;
int move = name.length()-1;
for(int i=0;i<name.length();i++) {
answer += Math.min(name.charAt(i) - 'A', ('Z' + 1) - name.charAt(i));
index = i+1;
while(index<name.length() && name.charAt(index) == 'A') {
index++;
}
move = Math.min(move, Math.min(i*2+name.length()-index,(name.length()-index)*2 + i));
}
return answer + move;
}
}