밍쎄의 코딩공간

프로그래머스 LV.0 - 대소문자 바꿔서 출력하기 본문

프로그래머스/프로그래머스 LV.0

프로그래머스 LV.0 - 대소문자 바꿔서 출력하기

밍쎄 2023. 7. 25. 15:06
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String answer = "";

        for(int i = 0; i< a.length();i++){
            char c = a.charAt(i);
            if(Character.isUpperCase(c)){
                answer += Character.toLowerCase(c);
            } else{
                answer += Character.toUpperCase(c);
            }
        }
        System.out.println(answer);
        }
    }

a.charAt(i)를 사용하여 a 문자열의 i번째 인덱스에 해당하는 문자를 가져올 수 있다.

 

또 다른 방법으로도 출력이 가능하다. 바로 아스키코드를 이용하는 것이다.

https://shaeod.tistory.com/228

 

ASCII Table - 아스키 코드표

(아스키코드를 알면 C/C++이나 Java 등으로 문자열 함수를 다루거나 파일 함수를 다룰때 도움이 됩니다.) 컴퓨터는 0과 1 숫자 밖에 모르기 때문에 문자도 숫자로 기억합니다. 이때, 어떤 숫자와 어

shaeod.tistory.com

 

import java.util.*;
public class Solution {
   public static void main(String[] args) {
     Scanner sc = new Scanner(System.in);
     String a = sc.next();
     for(int i = 0; i < a.length(); i++){
         if(a.charAt(i) >= 65 && a.charAt(i) <= 90){
             System.out.print((char)(a.charAt(i) + 32));
          }
          else System.out.print((char)(a.charAt(i) - 32));
        }
    }
}
  1. if(a.charAt(i) >= 65 && a.charAt(i) <= 90)
    문자열의 i번째 문자를 ASCII 코드 값으로 확인하여 대문자인지 검사한다.
    대문자의 ASCII 코드 범위는 65('A')에서 90('Z')까지다.
  2. System.out.print((char)(a.charAt(i) + 32))
    대문자를 소문자로 변환하여 출력한다.
    ASCII 코드 값에서 32를 더하면 대문자가 소문자로 변환된다.
728x90