[プログラマー/javascript]3中間文字を入力


問題の説明
単語sの中間文字を返す関数を作成します.単語の長さが偶数の場合は、中間の2文字を返します.
せいげんじょうけん
  • sは、長さが1より大きく、100未満の文字列である.
  • I/O例
    sreturn"abcde""c""qwer""we"
    に答える
    function solution(s) {
        var answer = '';
        
        if(s.length % 2 == 0){
          answer = s[s.length / 2 - 1] + s[s.length / 2];
        } else {
          answer = s[Math.floor(s.length / 2)];
        }
        return answer;
    }
    解説
    文字列の長さが偶数か奇数かを判断します.
    偶数の場合は、文字列の長さを2に分けて、インデックスの前の値とインデックス値を出力します.
    奇数の場合は文字列長を2で割って、小数で割った値なので割る値は切り捨てます.
    別の解釈
    function solution(s) {
        return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
    }
    3項演算子を用いて簡単に解く方法もある.