Programmers奇妙な文字を作成する


問題:文字列sは1つ以上の単語から構成されています.各単語は1つ以上のスペース文字で区切られます.各単語の偶数の2番目のアルファベットは大文字で、奇数の2番目のアルファベットは小文字で置換された文字列を返す関数で、解決策を完了します.

条件

  • 文字列全体のパリティインデックスではなく、単語(スペース単位)に基づいてパリティインデックスを決定する必要があります.
  • 最初の文字は、0番目のインデックスとして偶数文字でなければなりません.
  • I/O例


  • 「tryhelloworld」は、3つの単語「try」、「hello」、「world」から構成されています.各単語の偶数の2番目の文字を大文字に、奇数の2番目の文字を小文字に、すなわち「Try」、「Hello」、「World」に変更します.そこで、「Try Hello World」に戻ります.
  • に答える

  • 条件に注意してください.スペースからインデックスを判断するため、まずs.split(")構文が必要です.
  • ""を基準とした配列を生成します.
  • for文を簡略化し、単語に分割されたss変数をfor(String ss:array)として配列する.
  • 文字列では、スペース(スペース)が大文字と小文字に変換されたか否かを判断する必要がないため、そのフォーマットは以下の通りである(~?false:true;)例外処理を行う.
  • cnt = ss.contains(" ") ? 0 : cnt + 1;
    /* ss에 " "(띄어쓰기)를 포함하고 있다면 cnt 변수를 +1하여 다음 인덱스로 넘어가고, " "을 포함하지 않은 상황이라면 그대로 진행 */
  • では、単数インデックスと偶数インデックスを判別し、答えに値を蓄積する構文を書き出します.偶数の位置が真の場合は大文字、偽の場合は小文字に変換されます.
  • answer += cnt%2 == 0 ? ss.toLowerCase() : ss.toUpperCase(); 
    //마지막 참 부분의 메서드에만 ; 붙이기
  • 完全ソース
  • class Solution {
        public String solution(String s) {
            String answer = "";
            int cnt = 0;
            String[] array = s.split("");
    
            for(String ss : array) {
                cnt = ss.contains(" ") ? 0 : cnt + 1;
                answer += cnt%2 == 0 ? ss.toLowerCase() : ss.toUpperCase(); 
            }
          return answer;
        }
    }