이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비(https://cote.inflearn.com/contest/10/problems) (김태원)의 문제입니다.


문제 설명

 

코드

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

public class sec01_02 {
    public static String solution(String str) {
        StringBuilder sb = new StringBuilder();
        for (char c : str.toCharArray()) {
            if(Character.isLowerCase(c)) sb.append(Character.toUpperCase(c));
            else sb.append(Character.toLowerCase(c));
        }
        return new String(sb);
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String text = br.readLine();
        System.out.println(solution(text));
    }
}

 

설명

  • Character 클래스의 isUpperCase() 메서드는 문자가 대문자인지 확인하고, isLowerCase() 메서드는 문자가 소문자인지 확인한다.(리턴 타입 = Boolean)
  • isUpperCase(), isLowerCase() 를 활용하여 대문자는 소문자로, 소문자는 대문자로 변환하여 문자열을 만든다.