문자열의 대소문자를 변환하는 방법에 대해 공부해보았다. 여기서는 두가지 방법에 대해 기술한다.
- 문자열을 배열에 저장하여 계산하는 방법
- 문자열에서 문자를 하나씩 빼서 계산하는 방법
위 두가지 방법은 사실상 원리는 동일하며 차이는 배열의 사용여부이다.
public static String solution(String my_string) {
String answer = "";
char[] arr = new char[my_string.length()];
for (int i = 0; i < my_string.length(); i++) {
arr[i] = my_string.charAt(i);
}
for (int i = 0; i < arr.length; i++) {
if (arr[i] >= 'A' && arr[i] < 'Z') {
String tmp = arr[i] + "";
answer += tmp.toLowerCase();
}
if (arr[i] >= 'a' && arr[i] < 'z') {
String tmp = arr[i] + "";
answer += tmp.toUpperCase();
}
}
return answer;
}
toLowerCase()
toUpperCase()
는 String 메서드이기 때문에 문자열에서 사용해주어야 한다.
String answer = "";
for(int i=0; i<my_string.length(); i++){
char c = my_string.charAt(i);
if(c>='a'&&c<='z') c-=32;
else if(c>='A'&&c<='Z') c+=32;
answer+=c;
}
return answer;
위는 charAt()를 이용하였고, 32를 더하고 빼서 대문자/소문자를 전환해주었음.