스터디/알고리즘

[백준 2744] 대소문자 바꾸기

덩이 2024. 8. 6. 22:13
import java.util.Scanner;

public class E2744 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str = sc.next();

        for(int i=0; i<str.length(); i++){
            char ch = str.charAt(i);
            if('A' <= ch && ch <= 'Z'){
                System.out.print((char)('a' + ch - 'A'));
            }else{
                System.out.print((char)('A' + ch - 'a'));
            }
        }
    }
}

 

계산 한 값을 바로 print 하지 않고 문자열에다가 저장하면 더 코드가 간략해지지만 귀찮아...

 

핵심 개념 / 알고리즘: 아스키코드 값

대문자와 소문자 사이의 거리는 32이므로

대문자를 입력 받았다면 -> 대문자 아스키코드 값에 +32 (ABCD..Zabcd..z 순이기 때문에 +)

소문자를 입력 받았다면 -> 소문자 아스키코드 값에 -32