👿 문제 👿
영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해보세요.
[Algorithm]
1. 문자열을 문자형으로 변환 후, is/toUpperCase, is/toLowerCase 메서드 활용
➡️ 1) String -> char 로 변환 : string.charAt()
2) 반복문으로 이용해 각 알파벳이 대문자인지 소문자인지 판별 : isUpperCase()
3) isUpperCase()가 true이면 toLowerCase()로 소문자 전환
2. 아스키 코드를 이용하기
➡️ 대소문자가 32씩 차이가 나기 때문에 대소문자 판별 후, + 32 or - 32 실행
[Code]
import java.util.Scanner;
// 1. 문자형으로 변환 후 대소문자 판별
public class Solution1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String answer = "";
// 반복문을 이용하여 문자열의 문자들을 하나씩 문자열로 변환 후, 대소문자 판별
for(int i = 0; i<a.length(); i++){
char c = a.charAt(i);
if(Character.isUpperCase(c)){
answer += Character.toLowerCase(c);
}else{
answer += Character.toUpperCase(c);
}
}
System.out.println(answer);
}
}
// 2. 아스키코드 활용 대소문자 판별
public class Solution2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
// ASCII코드에서 대소문자는 32씩 차이가 남!
for(int i=0; i<a.length(); i++){
char c = a.charAt(i);
if(Character.isUpperCase(c)) {
System.out.print((char)(c+32));
} else {
System.out.print((char)(c-32));
}
}
}
}
[+ Plus]
⭐️ charAt()
문자열 ➡️ 문자형으로 변환하는 함수
⭐️ ASCII 코드
대문자 A - Z : 65 ~ 90
소문자 a - z : 97 ~ 122
아스키를 사용할 생각은 했는데 . . .
어떻게 활용해야할지 몰랐는데 사람들은 천재닷 ㅋㅋ;
'Algorithm Study' 카테고리의 다른 글
[Java Algorithm] 프로그래머스 Lv.0 _ 덧셈식 출력하기 (0) | 2024.03.06 |
---|---|
[Java Algorithm] 프로그래머스 Lv.0 _ 특수문자 출력하기 (0) | 2024.03.06 |
[Java Algorithm] 프로그래머스 Lv.0 _ 문자열 반복해서 출력하기 (2) | 2024.03.05 |
[Java Algorithm] 프로그래머스 Lv.0 _ n번째 원소까지 (0) | 2024.03.05 |
[Java Algorithm] 프로그래머스 Lv.0 _ 배열 만들기 1 (0) | 2024.03.04 |