ALGORITHM/코딩 기초 트레이닝

[프로그래머스]대소문자 바꿔서 출력하기

jki09871 2024. 7. 26. 12:10
아무리 쉬운 코드도 리뷰 합니다.
문제 설명
영어 알파벳으로 이루어진 문자열 str이 주어집니다. 
각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.

제한사항
1 ≤ str의 길이 ≤ 20
str은 알파벳으로 이루어진 문자열입니다.
입출력 예
입력 #1

aBcDeFg
출력 #1

AbCdEfG
------------------------------------------------------------------------------------------------
import java.util.Scanner;

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

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

설명

  1. for문을 통해 a문자에 길이만큼 작동한다.
  2. char c = a.charAt(i) : 주어진 인덱스 i에 위치한 문자를 char 타입으로 c에 저장
  3. Character.isLowerCase(c): 문자가 소문자인지 확인합니다.
  4. Character.toUpperCase(c): 소문자를 대문자로 변환합니다.
  5. Character.toLowerCase(c): 대문자를 소문자로 변환합니다.

중요코드

  • 문자열 a의 각 문자를 순회하면서:
    • 문자가 소문자일 경우, Character.toUpperCase(c)를 사용하여 대문자로 변환 후 result에 추가합니다.
    • 문자가 대문자일 경우, Character.toLowerCase(c)를 사용하여 소문자로 변환 후 result 에 추가합니다.

실행결과

실행 결과
정확성 테스트
테스트 1 〉 통과 (136.81ms, 70.4MB)
테스트 2 〉 통과 (140.37ms, 69.3MB)
테스트 3 〉 통과 (139.79ms, 70.4MB)
테스트 4 〉 통과 (146.63ms, 69.7MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0