문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
입출력 예
my_string | result |
---|---|
cccCCC | CCCccc |
abCdEfghIJ | ABcDeFGHij |
문자를 하나씩 꺼내와서 대문자,소문자인지를 확인하고 바꾸는 방법을 사용하려 했으나 계속 오류가 나서 대소문자를 확인 할 수 있는 방법을 찾아봤다.
for(int i =0; i<my_string.length(); i++){
if(my_string.charAt(i) < 90){
}
}
toUpperCase, toLowerCase를 통해 문자를 일괄적으로 바꿔주는 것 뿐만 아니라 isUpperCase 을 통해 대문자 여부도 확인 할 수 있다.
isUpperCase 을 사용하여 대소문자를 확인하고 삼항연산자를 사용해 answer에 추가하는 방식으로 해결했다.
public String solution(String my_string) {
String answer = "";
for(int i =0; i<my_string.length(); i++){
char c = my_string.charAt(i);
answer = Character.isUpperCase(c) ? answer + Character.toLowerCase(c) : answer + Character.toUpperCase(c);
}
return answer;
}
String str = "aBcDeFg";
str = str.toUpperCase(); => ABCDEFG
str = str.toLowerCase(); => abcdefg
String str2 = "ABC";
Character.isUpperCase(str2); => true
Character.isLowerCase(str2); => false
비슷한 알고리즘 문제 => 소문자로 바꾸기
많은 도움이 되었습니다, 감사합니다.