대문자와 소문자
문제 설명
문자열 my_string이 매개변수로 주어질 때,
대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
- my_string은 영어 대문자와 소문자로만 구성되어 있습니다.
입출력 예
my_string | result |
"cccCCC" | "CCCccc" |
"abCdEfghIJ" | "ABcDeFGHij" |
입출력 예 설명
입출력 예 #1
소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다.
입출력 예 #2
소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.
코드
class Solution {
public String solution(String my_string) {
String answer = "";
return answer;
}
}
풀이
class Solution {
public String solution(String my_string) {
// 결과를 저장할 빈 문자열 'answer'를 선언
String answer = "";
// 'my_string'의 각 문자에 대해 반복문
for (int i = 0; i < my_string.length(); i++) {
// 현재 인덱스의 문자를 'ch' 변수에 저장합니다.
char ch = my_string.charAt(i);
// 문자 'ch'가 대문자인지 확인
if (Character.isUpperCase(ch)) {
// 대문자인 경우, 이를 소문자로 변환하여 'answer'에 추가
answer += Character.toLowerCase(ch);
}
// 문자 'ch'가 소문자인지 확인
else if (Character.isLowerCase(ch)) {
// 소문자인 경우, 이를 대문자로 변환하여 'answer'에 추가
answer += Character.toUpperCase(ch);
}
}
return answer;
}
}
코드는 각 문자를 순회하면서 대문자를 소문자로, 소문자를 대문자로 변환
Character.isUpperCase(ch)와 Character.isLowerCase(ch)는 각각 문자가 대문자인지, 소문자인지를 확인
그 후 Character.toLowerCase(ch)와 Character.toUpperCase(ch)를 사용하여 대소문자를 상호 변환
이렇게 변환된 문자들은 answer 문자열에 누적
마지막에 완전히 변환된 문자열을 반환
Character.isLowerCase()
하나의 char 타입 매개변수를 입력으로 받아, 해당 문자가 소문자일 경우 true를, 그렇지 않을 경우 false를 반환
Character.toUpperCase()
하나의 char 타입 매개변수를 입력으로 받아, 해당 문자가 대문자일 경우 true를, 그렇지 않을 경우 false를 반환
https://school.programmers.co.kr/learn/courses/30/lessons/120893