[String] 대소문자 변환

0_0ni·2023년 2월 2일

대소문자 변환

대문자와 소문자가 같이 존재하는 문자열을 입력 받아,
대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램 작성


제한사항

  • 첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않는다.
  • 문자열은 영어 알파벳으로만 구성되어 있다.

입출력 예

입력

StuDY

출력

sTUdy


구현

import java.util.Scanner;

public class Main {

   public String solution(String str) {
       String answer = "";

       // (1)
       for( char x : str.toCharArray() ) {
           if (Character.isLowerCase(x)) answer += Character.toUpperCase(x);
           else answer += Character.toLowerCase(x);
       }
       
       // (2) 아스키코드 사용
       // 대문자 : 65 ~ 90
       // 소문자 : 97 ~ 122
       // 대소문자의 차이는 97-65 = 32로, 소문자에서 32를 빼면 대문자가 된다.
       for( char x : str.toCharArray() ) {
          if( x>= 97 && x <= 122) answer += (char)(x-32);
          else answer += (char)(x+32);
       }

       return answer;
   }

   public static void main(String[] args){
     Main T = new Main();
     Scanner kb = new Scanner(System.in);
     String str = kb.next();
     System.out.println(T.solution("StuDY"));
   }
}

0개의 댓글