프로그래머스 대문자와 소문자 문제

class Solution {
    public String solution(String my_string) {
        String answer = "";
        char[] arr = my_string.toCharArray();
        for(int i=0; i<arr.length; i++){
            if(arr[i] >= 'a' && arr[i]<='z'){
                arr[i] -= 32;
                answer += arr[i];
            } else if (arr[i] >= 'A' && arr[i] <= 'z'){
                arr[i] += 32;
                answer += arr[i];
            }
        }
        return answer;
    }
}

 

아스키코드활용 풀이

소문자와 대문자의 아스키코드의 차이는 32인것을 활용(A = 61, Z = 90, a = 97, z=122)

- arr 배열의 요소가 소문자이면 해당 문자에 아스키코드값을 -32해주어서 대문자로 변경

- arr 배열의 요소가 대문자이면 해당 문자에 아스키코드값을 +32해주어서 소문자로 변경