[CodeKata]#05,getPrefix関数


質問する
strsは単語を含む配列です.
共通の開始語(prefix)を返してください.
例:
strs = ['start', 'stair', 'step']
return은 'st'
strs = ['start', 'wework', 'today']
return은 ''
💡 に答える
  • 因子がない場合、early returnから
  • を直接脱退する.
  • の2番目のfor문において、パラメータとしての配列の1番目を基準として把持する、
  • .
  • 標準要素を2番目のパラメータで受信した要素と比較すると、
  • が異なることが分かった.
  • までしかメールを送っていません.
  • は、後で比較する必要がないので、
  • を新しい基準として使用することができる.
    3番目の
  • 因子と比較した.
  • は、1回目と2回目の比較が完了するので、3回目も同様に
  • を比較する.
  • の最初のfor문によって、このプロセスをパラメータとして繰り返す配列数
  • .
  • 最終残存基準はreturn
  • パスワード
    const getPrefix = strs => {
      if(strs.length === 0) {
        return '';
      } 
      
      for (let i=1; i<strs.length; i++) {
        for (let j=0; j<strs[0].length; j++) {
            if (strs[0][j] !== strs[i][j]) {
              strs[0] = strs[0].substring(0,j);
            }      
        }
      }
      return strs[0]; 
    }
    
    const strs = ['start', 'stair', 'step']
    console.log(getPrefix(strs));
    
    🎈 What i learned
  • の最初の解答の時、ifドアに===を差し込んで、似て非なる時間を過ごしました.
  • は考えを変えて、反対の条件で!==を再考して、問題は
  • を解決しました.
  • が予想していたより長い時間の問題.
  • 問題が解けていないときは、考えを変えましょう.枠に縛られないで!