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

Study with cocochichi·2023년 10월 29일
0

프로그래머스 Lv.0

목록 보기
8/18
post-thumbnail

문제설명

영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.

제한사항

  • 1 ≤ str의 길이 ≤ 20
    • str은 알파벳으로 이루어진 문자열입니다.

입출력 예

  • 입력
    aBcDeFg
  • 출력
    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 x = a.charAt(i);
            
            if(Character.isUpperCase(x)){
                result += Character.toLowerCase(x);
            }else{
                result += Character.toUpperCase(x);
            }
        }
        System.out.println(result);
    }
}

✏️ 풀이방법

  1. String 형 변수에서 글자 한개씩 char 형으로 바꿔서 대문자인지, 소문자인지 판별해야함!
  2. char 타입으로 변환한 문자를 저장하기 위해 char 타입의 변수 x를 선언 ➡️ x에 charAt(i)값 저장
  3. Character.isXXXCase()로 대소문자 여부 판단 후 toXXXCase()로 변환 후 출력

다른 풀이코드

import java.util.Scanner;

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

        for(char x : str.toCharArray()) {
            if(Character.isLowerCase(x)) {
                result += Character.toUpperCase(x);
            } else {
                result += Character.toLowerCase(x);
            }

        }
        System.out.println(result);
        }
    }

✏️ 리뷰

스캐너에 잠시 당황했다;; 빡대가리 헮,,, 하지만 푸는 방법을 알아챘다!!

또 다른 방법으로 향상된 for문을 사용해서 풀 수도 있다!!

forEach문 (향상된 for문)

for(타입 변수명 : 컬렉션 객체){
	코드;
}

0개의 댓글