<문제 제시>
<문제설명>
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
<예시 입출력>
<문제 해결 과정>
적절한 메서드를 사용하여 대문자를 소문자로 바꾸고, 소문자를 대문자로 바꾸는 과정이 필요하였다.
아스키코드를 더하고 빼는 방식으로도 구할 수 있지만 이번 풀이에서는 Character.isLowerCase() 와
Character.isUpperCase() 메서드를 사용하여 풀어보았다.
if(Character.isLowerCase(my_string.charAt(i)) == true){
answer += Character.toUpperCase(my_string.charAt(i));
}
isLowerCase의 반환값은 boolean 타입이므로 my_string의 문자 인덱스가 소문자인지 검사하여 맞으면
answer에 toUpperCase() 메서드를 통하여 소문자를 대문자로 바꾼 후 누적시킨다.
else if(Character.isUpperCase(my_string.charAt(i)) == true){
answer += Character.toLowerCase(my_string.charAt(i));
}
반대의 경우도 마찬가지이다.
<전체코드>
public class Upper_Lower {
public static String solution(String my_string) {
String answer = "";
for(int i = 0; i < my_string.length(); i++){
if(Character.isLowerCase(my_string.charAt(i)) == true){
answer += Character.toUpperCase(my_string.charAt(i));
}
else if(Character.isUpperCase(my_string.charAt(i)) == true){
answer += Character.toLowerCase(my_string.charAt(i));
}
}
return answer;
}
public static void main(String[] args) {
String my_string = "cccCCC";
System.out.println(solution(my_string));
}
}
대문자와 소문자를 다루는 알고리즘 문제가 많은 것 같았다.
Character 클래스의 다양한 메서드를 숙련시켜야할 것 같다.
문제링크)
https://school.programmers.co.kr/learn/courses/30/lessons/120893
'Algorithms > 프로그래머스' 카테고리의 다른 글
[프로그래머스] '진료 순서 정하기' - Java (0) | 2023.04.27 |
---|---|
[프로그래머스] '옹알이 (1)' - Java (0) | 2023.04.26 |
[프로그래머스] '배열 뒤집기' - Java (0) | 2023.04.17 |
[프로그래머스] '외계행성의 나이' - Java (0) | 2023.04.16 |
[프로그래머스] 'OX 퀴즈' - Java (0) | 2023.04.16 |