[Programmers]中間文字のインポート-JS

4699 ワード

プログラマ質問リンク
問題の説明
単語sの中間文字を返す関数を作成します.単語の長さが偶数の場合は、中間の2文字を返します.
せいげんじょうけん
  • sの文字列長は1より大きく、100より小さい.
  • I/O例
    sreturn"abcde""c""qwer""we
    私の答え
    function solution(s) {
        let answer = '';
        let len = s.length;
        let list = s.split("")
        
        len % 2 === 0
            ? answer = list[len / 2 - 1] + list[len / 2]
            : answer = list[len / 2 - 1/2]
        
        return answer
    }
    入力文字列の長さが奇数か奇数かによって、異なる結果を出すことができます.
  • 入力文字列の長さを決定します.
  • 文字列.split()メソッドを使用して配列に1つずつ入れます.
    ex. "list".split("") -> ["l","i","s","t"]
  • 文字列の長さが偶数か小数かによって2を0で割った値を使用します.
  • 中間の数字を持つため,長さを2で割った方法で配列インデックスを抽出した.
  • 偶数面長/2インデックスと長さ/2-1インデックス
  • 奇数面長/2-1/2を必要とするインデックス
  • 別の解釈
    function solution(s) {
        return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1);
    }
  • .substr(시작 위치, 자를 길이)
  • 対応する文字列を一定期間切り取る方法.
  • Math.ceil(s.length / 2) - 1
  • substr()メソッドの開始点.入力した文字列の長さを半分に分け、アップロード後に-1を追加します.
  • s.length % 2 === 0 ? 2 : 1
  • substr()メソッド椅子の長さ.入力文字列の長さが2を0で割った場合は2、そうでない場合は1
  • substr()
    Math.ceil()