1. 문제 설명
easy
2. 나의 풀이
public static String solution(String my_string) {
StringBuilder answer = new StringBuilder();
for(int i = 0; i < my_string.length(); i++)
{
char c = my_string.charAt(i);
if(!Character.isUpperCase(c))
{
answer.append(Character.toUpperCase(c));
}
else
{
answer.append(Character.toLowerCase(c));
};
}
return answer.toString();
}
StringBuilder로 한 이유는 메모리 낭비 안하려고,,
3. 다른 사람의 풀이
class Solution {
public String solution(String my_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;
}
}
저번에 숫자 아스키코드 에서 '0' 빼면 원래 자연수랑 같아지는 원리를 이용한 문제를 풀었어서,
이렇게 풀 수도 있지 않을까? 생각했었는데 역시 있다.
대문자가 소문자보다 32씩 작다는것을 이용해서 푸는 방법.
'코테 > java' 카테고리의 다른 글
[프로그래머스][java] lv 0 가장 큰 수 찾기 (1) | 2024.11.20 |
---|---|
[프로그래머스][java] lv 0 배열 회전시키기 (0) | 2024.11.20 |
[프로그래머스][java] lv 2 올바른 괄호 (1) | 2024.11.20 |
[프로그래머스][java] lv 2 혼자 놀기의 달인 (0) | 2024.11.19 |
[프로그래머스][java] lv 0 숨어있는 숫자의 덧셈(1) (0) | 2024.11.18 |