아스키코드 활용한 변환
public class Main {
private String solution(String str) {
String answer = "";
char tmp;
for (int i = 0; i < str.length(); i++) {
tmp = str.charAt(i);
if ((65<= tmp) && (tmp <= 90)){ // 대문자
answer += String.valueOf(tmp).toLowerCase(); // 소문자 변환
} else if((97<= tmp) && (tmp <= 122)) { // 소문자
answer += String.valueOf(tmp).toUpperCase(); // 대문자 변환
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.solution(str));
}
}
다른 풀이
Character클래스를 활용한 대소문자 구분 후 대소문자 변환
아스키코드에서 대소문자의 차이는 32임을 활용
public class Main2 {
private String solution(String str) {
String answer = "";
char tmp;
for(char x : str.toCharArray()) {
if (Character.isLowerCase(x)) answer += Character.toUpperCase(x);
else if(Character.isUpperCase(x)) answer += Character.toLowerCase(x);
/* if(x >= 65 && x <= 90) answer += (char)(x +32); // 대문자
else answer += (char)(x - 32);*/
}
return answer;
}
public static void main(String[] args) {
Main2 T = new Main2();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.solution(str));
}
}
'알고리즘 > 인프런_자바코테강의' 카테고리의 다른 글
인프런 6. 중복 문자 제거 (Java) (0) | 2022.03.10 |
---|---|
인프런 5. 특정 문자 뒤집기 (Java) (0) | 2022.03.10 |
인프런 4. 단어뒤집기 (Java) (0) | 2022.03.10 |
인프런 3. 문장 속 단어 (Java) (0) | 2022.03.07 |
인프런 1. 문자찾기 (Java) (0) | 2022.03.07 |