class Solution {
    public int solution(String name) {
        int answer = 0;
        int count = name.length()-1;
        
        for(int i=0; i<name.length(); i++) {
            char c = name.charAt(i);
            int index = i+1;
            
            answer += c<'N' ? (c-'0')-('A'-'0') : 26-(c-'0')+('A'-'0');
            
            while(index<name.length() && name.charAt(index)=='A') { index++; }
            
            count = Math.min(count, name.length()-index+i*2);
            count = Math.min(count, (name.length()-index)*2+i);
        }
        
        return answer+count;
    }
}

'Problem Solving > Programmers' 카테고리의 다른 글

[Level 2] 괄호 회전하기  (0) 2022.04.06
[Level 2] 예상 대진표  (0) 2022.04.06
[Level 2] 소수 찾기  (0) 2022.03.31
[Level 2] 가장 큰 수  (0) 2022.03.31
[Level 2] 프린터  (0) 2022.03.31