본문 바로가기
코딩테스트/알고리즘 유형정리

대소문자 변환하기

by 바보3 2021. 8. 11.
        String answer = "";
        /*
            A = 65
            Z = 90

            a = 97
            z = 122

            65 + 32 = 97
            90 + 32 = 122
         */
        for(char x : str.toCharArray()) {
            if(x >= 97 && x <= 122) {
                answer += (char) (x - 32);  // x가 소문자라면 -32를 빼서 대문자로 바꾼다
            } else {
                answer += (char) (x + 32);  // 대문자라면 + 32를 해서 소문자로 바꾼다
            }
        }
        return answer;

아스키코드를 이용한다.

a = 97

z = 122

 

A = 65

Z = 90

 

입력받은 문자열을 char배열로 바꾼 후 한글자씩 비교해서

A와Z사이에 있으면 +32를 해서 대문자로 바꿔준다(A 와 a, Z와 z가 아스키코드로 32 차이. 그래서 32를 더하거나 빼줌)

반대로 a와z 사이에 있으면 -32를 해서 소문자로 바꿔준다

'코딩테스트 > 알고리즘 유형정리' 카테고리의 다른 글

중복문자 제거  (1) 2021.09.01
단어 뒤집기  (0) 2021.08.12
문자열에서 같은 문자 찾기  (0) 2021.08.10

댓글