JadenCase文字列の作成


📌JadenCase文字列の作成


JadenCaseは、すべての単語の頭文字が大文字で、他の文字が小文字の文字列です.文字列sが与えられた場合、sをJadenCaseの文字列に変換する関数を返します.解決策を完了してください.

📌せいげんじょうけん

  • sは、長さが1より大きい文字列です.
  • sはアルファベットとスペース(""")で構成されています.
  • 最初のアルファベットが英語でない場合、次の英語は小文字で書きます.(第1のI/O例参照)
  • 📌I/O例


    sreturn"3people unFollowed me""3people Unfollowed Me""for the last week""For The Last Week"

    📌言語:JAVA


    📌solution_01

    class Solution {
        public String solution(String s) {
            String answer = "";
            String[] arr = s.split(" ");
    
            for(int i = 0; i < arr.length; i++){
                String first = arr[i].substring(0,1);
                first = first.toUpperCase();
                String remain = arr[i].substring(1, arr[i].length());
                remain = remain.toLowerCase();
                if(i == arr.length-1){
                    answer += first + remain;
                }else{
                    answer += first + remain + " ";
                }
            }
    
            return answer;
        }
    }

    😦問題が発生


    入力した文字列sをスペース基準でカットし、arrに入れ、arrの要素の最初の文字をカットして大文字に変換すればよいのでfirstとreseに分けてarrの要素を整理し、実行時に疲れません.

    📌solution_02

    class Solution {
        public String solution(String s) {
            String answer = "";
    
            s = s.toLowerCase();
            String[] arr = s.split(" ");
    
            for(int i = 0; i < arr.length; i++){
    
                if (arr[i].equals("")) {
                    answer += arr[i];
                } else {
                    answer += arr[i].substring(0, 1).toUpperCase() + arr[i].substring(1);
                }
                
                if (i < arr.length - 1)
                    answer += " ";
            }
            
            if (" ".equals(s.substring(s.length()-1))) 
                answer += " ";
            return answer;
        }
    }
    
    

    😎に答える


    調べてみると、テストボックスに空白のものが2つ以上入っていました.solution 01のように、スペース出力が正しくない現象が発生します...したがってarr[i]が空白であれば,答えに空白を付けたコードを出力し,それを全体的に修正する.