이번 문제는 딱히 고민할게 없었다.
음 전에 문제 풀이 할때 알아둔 내장함수가 있어서 문제를 보자마자 떠올렸기때문에 딱히 구현에
큰 생각을 집어넣진 않았다..
class Solution {
public String solution(String my_string) {
String answer = "";
char[] charArray = my_string.toCharArray();
for (int i = 0; i < charArray.length; i++) {
if(Character.isUpperCase(charArray[i])){
answer += Character.toLowerCase(charArray[i]);
}
if(Character.isLowerCase(charArray[i])){
answer += Character.toUpperCase(charArray[i]);
}
}
return answer;
}
}
my_string = "cccCCC"
char[] charArray = my_string.toCharArray();
결과값 => ["c","c","c","C","C","C"]
이후에 배열을 순회하기로 생각했다
for (int i = 0; i < charArray.length; i++) {
if(Character.isUpperCase(charArray[i])){
answer += Character.toLowerCase(charArray[i]);
}
if(Character.isLowerCase(charArray[i])){
answer += Character.toUpperCase(charArray[i]);
}
}
Character.isUpperCase() 란
이 한 글자가 대문자 인지 소문자인지 알려주는 녀석이다
반환값은 boolean 값이며
대문자일경우 true를 반환하고
소문자일경우 false를 반환한다.
반대로 Character.isLowerCase() 경우에는 한 글자가
소문자일경우 true값 반환
대문자일경우 false를 반환한다.
Character.toLowerCase() 이 녀석은
대문자를 => 소문자로 바꿔주는 녀석이며
Character.toUpperCase() 이 녀석은
소문자를 => 대문자로 바꿔주는 녀석이다.
charArray 값들을 순회하면서 대문자인지 소문자인지 확인하고 대문자일 경우엔
if(Character.isUpperCase(charArray[i])){
answer += Character.toLowerCase(charArray[i]);
}
소문자로 바꿔서 answer에 할당해 주었으며
if(Character.isLowerCase(charArray[i])){
answer += Character.toUpperCase(charArray[i]);
}
이 경우에는 소문자일경우 대문자로 바꾸어 answer 에 할당해주었다