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 |