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의 값이 확실한 경우였다.

+ Recent posts