PS/Baekjoon

[Baekjoon] 2744 - 대소문자 바꾸기

서현 SEOHYEON 2022. 12. 1. 12:02

📝 문제

 

 

🔑 풀이 과정

문제 해결 발상은 간단

소문자를 대문자로, 대문자로 소문자로 바꾸기만 하면 되는 문제

'A'의 아스키코드는 65, 'a'의 아스키코드는 97이라는건 항상 알아두기.

처음에 s.charAt(i) - 32를 그대로 출력했더니 int형인 숫자값들이 출력됨 → char형으로 변환 필요

+ 문제 입력 조건이 대문자, 소문자로만 구성된 단어랬으니 굳이 else if를 쓰지않고 else로 처리했다.

 

 

🔓 답안

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine();

        // 소문자일 경우, 대문자로
        // 대문자일 경우, 소문자로
        for(int i = 0; i < s.length(); i++){
            if(s.charAt(i) >= 'a' && s.charAt(i) <= 'z')
                System.out.print((char)(s.charAt(i) - 32));
            else
                System.out.print((char)(s.charAt(i) + 32));
        }
    }
}