본문 바로가기
(문제풀이)

프로그래머스 (java) : 대문자와 소문자

by cogito-new 2022. 10. 18.
  • 대문자와 소문자
문제 설명

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


제한사항
  • 1 ≤ my_string의 길이 ≤ 1,000
  • my_string은 영어 대문자와 소문자로만 구성되어 있습니다.

입출력 예my_stringresult
"cccCCC" "CCCccc"
"abCdEfghIJ" "ABcDeFGHij"

입출력 예 설명

입출력 예 #1

  • 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다.

입출력 예 #2

  • 소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.

풀이 과정 

(1) : String 으로 들어온 문자열을 각각 비교하기 위해 toCharArray() 메소드를 사용해 char type 배열로 변경

(2) : 아스키 코드

a~z = 97~122

A~Z = 65~90

이므로 소문자 범위에 해당한다면 대문자로,

대문자 범위에 해당한다면 소문자로 변경한다.

class Solution {
    public String solution(String my_string) {
        String answer = "";
        char[] arry = my_string.toCharArray();
		
		// a ~ z 97 ~122
		// A ~ Z 65~90
		
		String temp ="";
		//char 배열로 만들어서 하나씩 꺼내고 (asci 코드 사용) 대소문자 변환하기.
		for(int i = 0; i<arry.length; i++) {
			if( arry[i] >= 97 && arry[i] <= 122 ) {
				temp = arry[i] + "";
				answer += temp.toUpperCase();
			} else if( arry[i] >=65 && arry[i] <= 90){
				temp = arry[i] + "";
				answer += temp.toLowerCase();
			}
		}
        return answer;
    }
}

 

 

반응형