프로그래머스 Lv0 - 대소문자 바꿔서 출력하기 (자바)

감자·2023년 7월 19일
1

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

import java.util.Scanner;

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

프로젝트에 치여서 두달만에 다시 시작한 코테
일단 알고리즘 뇌가 굳었다...
하우에버 다시 시작하면 말랑해지겠지 레쭈고!

처음에는 for문..? toUpperCase와 toLowerCase 쓰면 되지 않을까? 일단 문자열을 잘라? 해봤는데
답이 안 나와서 해설을 보니 내가 생각한 알고리즘이 아니였다

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);
    }
}
  1. String 형 변수에서 글자 한 개씩 char 형으로 바꿔 대문자인지, 소문자인지 판별해야 한다.

  2. char 타입으로 변환한 문자를 저장하기 위해 char 타입의 변수 c를 선언하고, c에 charAt(i)값을 저장한 것이다.

  3. 여기서 i는 순서를 의미한다.

  4. isUpperCase는 입력 받은 인자가 영문 대문자인지 여부를 판단하여 true, false 값을 리턴한다.

  5. 대소문자가 변환되는 문제이니, isUpperCase가 true일 시 toLowerCase를 사용해서 소문자로 만들어준다.

profile
코딩하는 감자

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

가치 있는 정보 공유해주셔서 감사합니다.

답글 달기