주니어 기초 코딩공부/JAVA_programmers_코딩테스트

대문자와 소문자_programmers_lev00

jju_developer 2022. 12. 4. 23:39
728x90

<코딩 테스트>

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

 

<나의 풀이 과정>

처음에는 패턴으로 만들어서 풀고 싶었지만, 아직 패턴을 이용하는 방법이 익숙하지 않기 때문에

char 배열을 만든 후, 해당하는 Character가 대문자 인지, 소문자 인지 판별하는 방법을 사용하였습니다.

 

<나의 풀이 코드>

class Solution {
    public String solution(String my_string) {
        String answer = "";
		char[] ch = my_string.toCharArray();
		for (int i = 0; i < ch.length; i++) {
			if (ch[i] < 97) {
				ch[i] = Character.toLowerCase(ch[i]);
			} else {
				ch[i] = Character.toUpperCase(ch[i]);
			}
		}
		return answer = String.valueOf(ch);
    }
}

<다른사람 풀이 1>

import java.util.stream.Collectors;

class Solution {
    public String solution(String myString) {
        return myString.chars().mapToObj(operand -> String.valueOf((char) (Character.isLowerCase(operand) ? Character.toUpperCase(operand) : Character.toLowerCase(operand)))).collect(Collectors.joining());
    }
}

<다른 사람 풀이 2>

class Solution {
    public String solution(String my_string) {
        String answer = "";
        for(int i=0; i<my_string.length(); i++){
            char c = my_string.charAt(i);
            if(Character.isUpperCase(c)){
                answer += String.valueOf(c).toLowerCase();
            }else{
                answer += String.valueOf(c).toUpperCase();
            }
        }
        return answer;
    }
}
728x90