Solution 1) 내 풀이
class Solution {
public int[] solution(String my_string) {
int[] answer = new int[52];
for (char tmp : my_string.toCharArray()) {
if ((int)tmp >= 97) {
answer[(int)tmp - 'G']++;
} else {
answer[(int)tmp - 'A']++;
}
}
return answer;
}
}
시행착오
for (char tmp : my_string.toCharArray()) {
System.out.println(tmp - '0');
if ((tmp - '0') >= 49) {
answer[tmp - '6']++;
} else {
answer[tmp - 'A']++;
}
}
반복문안의 내용이다.
습관적으로 tmp - 0으로 아스키코드를 확인하려 했다.
이는 확실한 알파벳의 아스키코드가 아닌 tmp의 아스키코드 - 0의 아스키코드가 되어
알파벳별 아스키코드의 범위만 활용하는 문제에선 상관 없지만,
이와같은 별개의 문제에선 문제가 발생 됐다.
tmp - 0의 값이 아닌
(int)tmp의 값이 확실한 경우였다.