[프로그래머스 스쿨] 코딩테스트 연습 기초 - 대소문자 바꿔서 출력하기

김현정·2025년 3월 6일
0

문제 설명

영어 알파벳으로 이루어진 문자열 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();
    }
}

내가 구현한 코드

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);
    }
}

문제 해결

answer 문자열 변수를 초기화를 해줍니다.
그 다음에 for문을 사용하여 charAt()함수로 문자를 한 개씩 출력합니다.
if문에서 Character클래스에서 isUpperCase(변수)메소드 (변수가 대문자인지 확인하는 함수)로 대문자이면 소문자로 바꾸고 소문자이면 대문자로 바꾸는 if-else문을 사용.

알게된 점

  1. charAt() 메소드는 String타입의 데이터(문자열)에서 특정 문자를 char타입으로 변환할때 사용하는 함수인데 for문에서 charAt(i)를 하면 문자열에 있는 문자를 하나씩 출력해줌.
  2. Character.isUpperCase(a)는 a라는 문자열에서 대문자를 찾는 메소드
  3. Character.isLowerCase(a)는 a라는 문자열에서 소문자를 찾는 메소드
  4. Character.toUpperCase(a) / toLowerCase(a)는 대소문자로 바꾸는 메소드

0개의 댓글