출처 : https://leetcode.com/problems/minimum-time-to-type-word-using-special-typewriter/


class Solution {
public int minTimeToType(String word) {
int initial = word.charAt(0) - 'a';
if ('a' - word.charAt(0) < 0) {
if ('a' - word.charAt(0) + 26 < initial) initial = 'a' - word.charAt(0) + 26;
}
int sec = word.length() + initial;
for (int i = 0; i < word.length() - 1; i++) {
if (word.charAt(i + 1) - word.charAt(i) < 0) {
if (word.charAt(i + 1) - word.charAt(i) + 26 < word.charAt(i) - word.charAt(i + 1)) {
sec += word.charAt(i + 1) - word.charAt(i) + 26;
} else {
sec += word.charAt(i) - word.charAt(i + 1);
}
} else if (word.charAt(i) - word.charAt(i + 1) < 0) {
if (word.charAt(i) - word.charAt(i + 1) + 26 < word.charAt(i + 1) - word.charAt(i)) {
sec += (int) word.charAt(i) - word.charAt(i + 1) + 26;
} else {
sec += word.charAt(i + 1) - word.charAt(i);
}
}
}
return sec;
}
}