与えられた文字列から繰り返し文字のカウントするアルゴリズムを作成したい
Q&A
Closed
解決したいこと
SearchingChallenge(str)で、渡されるstrパラメーターを受け取り、繰り返し文字の数が最も多い最初の単語を返せるようにアルゴリズムを作成したい
例えば 「今日は史上最高の日です!」は 2 つの e (および 2 つの t) を持ち、同じく 2 つの e を持つものより前に来るため、最大の値が返されるはずです。
文字が繰り返される単語がない場合は、-1を返します。単語はスペースで区切られます。
このように作成したいです
Have the function SearchingChallenge(str) take the str parameter being passed and return the first word with the greatest number of repeated letters. For example: "Today, is the greatest day ever!" should return greatest because it has 2 e's (and 2 t's) and it comes before ever which also has 2 e's. If there are no words with repeating letters return -1. Words will be separated by spaces.
発生している問題・エラー
エラーは出ていないです
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
function SearchingChallenge(str) {
let result = "";
//正規表現を利用する?文字列で処理する
let wordsList = str.split(" ");
//同じ文字が何度繰り返されるか数える処理を作るsplit関数?
for (let i = 0; i < wordsList.length; i++) {
const words = wordsList[i];
//if文で文字列の最大値を出すための処理が必要
//連想配列、文字列のkeyを指定して値を取得する
if (result[i] > words) {
console.log(result[wordsList.length - 1]);
}
}
// code goes here
//言葉なしの場合の処理を作る。文字列から数字に変換
return str;
}
// keep this function call here
console.log(SearchingChallenge(readline()));
自分で試したこと
文字列を処理するので正規表現を必要なのか?
同じ文字が何度も繰り返されるか数える
例えばToday, is the greatest day ever!
の単語から1つの単語greatest
を出力するためにsplit関数が必要?なのか調べています
ifで文字列の最大値を出すための処理を作成しているがわからなくなったのでアドバイスをお願いします