中間文字を入力


問題の説明


単語sの中間文字を返す関数を作成します.単語の長さが偶数の場合は、中間の2文字を返します.

私が書いたコード

function solution(s) {
  
 if (s.length%2 === 0){
   return s[s.length/2-1] + s[s.length/2]
 }else {
   return s[Math.round(s.length/2-1)]
 }
}
以前は第1節でcoflit問題との差が少なかったので,すぐに解決した.
パスされたsの長さが奇数の場合、中間の文字を返さなければなりません.偶数の場合、中間の2つの文字を返さなければなりません.
中間位置を指定する方法を見つけることは重要な問題のようです.
実際の文字列が偶数と奇数であることをRUN JSで確認し,問題を解決した.
まず、文字列の長さの半分が真ん中に位置します.
しかし,長さが偶数の場合,特性的には2に分けられ,真ん中はない.
中間の2文字を返すには、インポートした2つの文字列にインデックスでアクセスしてマージします.
'정재민정재민' // 짝수의 문자열을 둘로 나눌경우 가운데가 없다.
'정재민''정재민'
2つの文字の問題は민정である可能性があります.정재민정재민からの位置は3番目にあり、インデックスは2です.
したがって、を取得するには、文字列の長さの半分-1インデックスを使用する必要があります.
文字列の長さの半分のインデックスでにアクセス
2文字を合成した.
長さが奇数の場合、特性上2に分けられません.
'최강정재민' // 가운데는 3번째 문자 길이의 절반은 2.5
長さが9の場合、ペアは4.5に分けられ、長さが11の場合、5.5になります.
奇数の長さの文字列の真ん中の位置は長さの半分に近い四捨五入です.
Math.roundメソッドでは、文字列長の半分−1をパラメータとする.

採点結果



質問リンク


https://programmers.co.kr/learn/courses/30/lessons/12903