TIL)23.07.31(알고리즘_대문자와 소문자)

주민·2023년 7월 31일
0

TIL

목록 보기
50/84

프로그래머스의 "대문자와 소문자" 문제

문제

문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.

입출력 예

my_stringresult
cccCCCCCCccc
abCdEfghIJABcDeFGHij

문제 풀기 & 해결

문자를 하나씩 꺼내와서 대문자,소문자인지를 확인하고 바꾸는 방법을 사용하려 했으나 계속 오류가 나서 대소문자를 확인 할 수 있는 방법을 찾아봤다.

for(int i =0; i<my_string.length(); i++){
	if(my_string.charAt(i) < 90){
    	}
	}

toUpperCase, toLowerCase를 통해 문자를 일괄적으로 바꿔주는 것 뿐만 아니라 isUpperCase 을 통해 대문자 여부도 확인 할 수 있다.

isUpperCase 을 사용하여 대소문자를 확인하고 삼항연산자를 사용해 answer에 추가하는 방식으로 해결했다.

public String solution(String my_string) {
	String answer = "";
        
    for(int i =0; i<my_string.length(); i++){
    	char c = my_string.charAt(i);
            
        answer = Character.isUpperCase(c) ? answer + Character.toLowerCase(c) : answer + Character.toUpperCase(c);            
	}
    return answer;
}

알게된 점

  1. 대소문자 변경
    1) toUpperCase : 전체를 대문자로 변환
    2) toLowerCase : 전체를 소문자로 변환
    3) Character.isUpperCase(str2) : 대문자인 경우 true 아니면 false
    4) Character.isLowerCase(str2) : 소문자인 경우 true 아니면 false
String str = "aBcDeFg";

str = str.toUpperCase(); => ABCDEFG
str = str.toLowerCase(); => abcdefg

String str2 = "ABC";

Character.isUpperCase(str2); => true
Character.isLowerCase(str2); => false

비슷한 알고리즘 문제 => 소문자로 바꾸기

1개의 댓글

comment-user-thumbnail
2023년 7월 31일

많은 도움이 되었습니다, 감사합니다.

답글 달기

관련 채용 정보