LoginSignup
0
0

More than 1 year has passed since last update.

[JavaScript]ある文字列が重複する文字があるかどうか出力するアルゴリズム

Posted at

「世界で闘うプログラミング力を鍛える本」にある問題から。

「ある文字列が、すべて固有であるかどうか判定するアルゴリズムを実装しなさい」

JavaScriptで実装してみた。

function duplicationcheck(str){
  //引数として渡された文字列を1文字ずつ分割
  let a=str.split('');
//空の配列bを作成
  let b=[];
  //変数cの初期値
  let c=false;

  for(let i=0;i<a.length;i++){
    //配列bの中に配列a[i]と同じものがあるかどうか判定
     c=b.includes(a[i]);
     //配列bの先頭に配列a[i]を挿入
     b.unshift(a[i]);
     //変数cがtrueになっていたらループを抜ける
     if(c===true){
      console.log('重複あり');
      break;
     }
  }
  //繰り返しが終了してもcがfalseのままだったら「重複なし」を出力
  if(c===false){
    console.log('重複なし');
  }
}

細かな説明は、コメントアウト部分に書いた。

 大まかな流れとしては、
①引数として文字列を受けとる
②文字列を1文字ずつ分割
③分割した文字を1文字ずつ変数に格納しながら、includesメソッドで重複があるか判定
④重複があれば「重複あり」、最後までなければ「重複なし」を出力。

※自分で考えただけのアルゴリズムなので、これより良い実装方法がある可能性高いです。各自で試行錯誤しながら実装していってください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0