본문 바로가기
하루하루/프로그래머스 문제풀이

[Lv.0 - Java] 120893. 대문자와 소문자

by 키튼햄 2023. 11. 19.

문제

 

 

풀이

향상된 for문을 사용해 my_string을 한글자씩 나누어 char str에 할당하여 반복한다.

str에 저장된 글자가 대문자인지 확인하고 맞으면 소문자로 변경, 아니라면 소문자이기 때문에 대문자로 변경해 answer에 차례로 덧붙여 저장하는 삼항연산자를 사용했다.

 

그런데 생각보다 실행시간이 길어서 다른 방법 또한 찾아보았다.

 

 

 

코드

1. 삼항연산자 사용

class Solution {
    public String solution(String my_string) {
        String answer = "";
        for(char str : my_string.toCharArray()){
            answer += Character.isUpperCase(str) ? Character.toLowerCase(str) : Character.toUpperCase(str);

        }
        return answer;
    }
}

 

 

2. if-else문 사용 - 실행시간이 좀더 빠르다.

class Solution {
    public String solution(String my_string) {
        String answer = "";
        for(char str : my_string.toCharArray()){
            if(Character.isUpperCase(str)){
                answer += String.valueOf(str).toLowerCase();
            }else{
                answer += String.valueOf(str).toUpperCase();
            }

        }
        return answer;
    }
}