[프로그래머스Lv1] 이상한 문자 만들기

JinjuLog·2021년 2월 3일
0

알고리즘

목록 보기
3/12
post-thumbnail

🚩 문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

📝 해결방법

공백문자로 구분한 각각 단어의 짝,홀를 구분해야하기 때문에 먼저 문자열 s를 공백으로 구분하여 배열에 넣고 대문자 소문자로 바꿔주기

📝 배운것

-split limit 활용
split()메서드의 두번째 파라미터에 limit값을 음수로 주면 모든 구분값을 나눠서 배열로 반환한다.

👩🏻‍💻 내코드

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] str = s.split(" ",-1);

        for(int i=0; i<str.length; i++){
            for(int j=0; j<str[i].length(); j++){
                if(j%2 == 0){
                    String even = "";
                    even += str[i].charAt(j);       
                    answer += even.toUpperCase();
                }else{
                    String odd = "";
                    odd += str[i].charAt(j);
                    answer += odd.toLowerCase();
                }
            }

            if(i != str.length-1) answer += " ";
        }

        return answer;
    }
}

📝 개선사항

if(j%2 == 0){
  String even = "";
  even += str[i].charAt(j);       
  answer += even.toUpperCase();
                }
🔻

if(j%2 == 0){
  String even = Character.toString(msg.charAt(j));   
  answer += even.toUpperCase();
                }
🔻

 if(j%2 == 0){
  answer +=String.valueOf(s.charAt(i)).toUpperCase();
                }
                

toUpperCase(), toLowerCase()가 char형에서는 사용할 수없기 때문에 String.valueOf()이용하기

출처 : programmers 이상한 문자 만들기

0개의 댓글