アルゴリズムハッシュ
1028 ワード
データ構造はハッシュキー値ペアからなる
多くのマラソン選手がマラソンに参加した.1人の選手を除いて、すべての選手がマラソンを完走した.
マラソンに出場する選手の名前と完走した選手の名前の並びが完成したら、完走していない選手の名前を返す解決関数を書いてください.
せいげんじょうけん
マラソンに出場する選手は1人以上10万人以下だ.
完了長さは参加者の長さ1より小さい.
参加者の名前には、少なくとも1つまたは20個の小文字が含まれています.
参加者は同名であってもよい.参加者が並び、鍵:名前、価値:明洙 として登録されている.キーが既に存在する場合は+1、そうでない場合は1に設定されます. で完了した人の配列でmyMapにキーが存在し、0より大きい場合valueでは-1 回転mymapは値が0より大きい場合に完了しないことを示すため、キー値を正解の に累積する.
最初は単純for文を使用していましたが、重複している場合は考慮できませんのでkeyvalueを使用する必要があります
const myMap = new Map();
問題の説明多くのマラソン選手がマラソンに参加した.1人の選手を除いて、すべての選手がマラソンを完走した.
マラソンに出場する選手の名前と完走した選手の名前の並びが完成したら、完走していない選手の名前を返す解決関数を書いてください.
せいげんじょうけん
マラソンに出場する選手は1人以上10万人以下だ.
完了長さは参加者の長さ1より小さい.
参加者の名前には、少なくとも1つまたは20個の小文字が含まれています.
参加者は同名であってもよい.
最初は単純for文を使用していましたが、重複している場合は考慮できませんのでkeyvalueを使用する必要があります
function solution(participant, completion) {
var answer = "";
const myMap = new Map();
for (let x of participant) {
if (myMap.get(x)) myMap.set(x, myMap.get(x) + 1);
else myMap.set(x, 1);
}
for (let x of completion) {
if (myMap.get(x) > 0) myMap.set(x, myMap.get(x) - 1);
}
for (let [key, value] of myMap) {
if (value > 0) answer += key;
}
return answer;
}
Reference
この問題について(アルゴリズムハッシュ), 我々は、より多くの情報をここで見つけました https://velog.io/@chuhyerin96/알고리즘-해시テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol