대문자와 소문자

nacSeo (낙서)·2024년 5월 10일
0

프로그래머스

목록 보기
162/169

문제 설명

문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.

제한사항

1 ≤ my_string의 길이 ≤ 1,000
my_string은 영어 대문자와 소문자로만 구성되어 있습니다.

나의 코드

class Solution {
    public String solution(String my_string) {
        String answer = "";
        for(int i=0; i<my_string.length(); i++) {
            if(Character.isUpperCase(my_string.charAt(i))) {
                answer += Character.toLowerCase(my_string.charAt(i));
            } else if(Character.isLowerCase(my_string.charAt(i))) {
                answer += Character.toUpperCase(my_string.charAt(i));
            }
        }
        return answer;
    }
}

다른 사람 코드

class Solution {
    public String solution(String s) {
        String answer = "";

        for(int i=0;i<s.length();i++){
            if(s.charAt(i)>=97 && s.charAt(i)<=122){
                answer += (char)(s.charAt(i)-32);
            } else if(s.charAt(i)>=65 && s.charAt(i)<=90){
                answer += (char)(s.charAt(i)+32);
            } else {
                answer += s.charAt(i);
            }
        }

        return answer;
    }
}

아스키코드값을 활용한 풀이

느낀 점

반복문을 돌지 않고 바로 조건문을 통해서 toUpperCase()toLowerCase()를 사용하면 이미 한 번 바꾼 것도 또 다시 원상태가 된다. 따라서 반복문을 통해 인덱스마다 조건문을 사용하여 변경해주며 해결하였다.

profile
백엔드 개발자 김창하입니다 🙇‍♂️

0개의 댓글