[プログラマー]アルゴリズム-走りきれない選手をハッシュする
2947 ワード
計算は完了していますが、アルゴリズムが足りないと思います.
アルゴリズムをたゆまず学ぶことで知識を得ましょう.
アルゴリズムの勉強を始めるために、私と2つの動機で勉強を始めました.
3人ともどこから始めたいのか、1週間に1つのコンセプトで、プログラマーの質問に答えたいので、ハッシュから始めます.
問題自体はソートがより速く,より簡単であると考えられるが,ハッシュを学習する目的は学習であるため,ハッシュをどのように適用するかを考えてきた.
参加者と完走者の順位の違いは,無条件1名で完走できないことを意味する.
ハッシュは[key-value]の組合せであるため、key、valueとして指定する必要があります.
->参加者のインデックスをkey(name)-value(1)と見なします.
各キーには、参加者の周りに1の値が割り当てられます.
その後、完了者配列の周りにキー値を検索するとvalue-1になります.つまり、同じ名前の人が参加すると、参加者のランキングによってvalue=2になります.完走した人の中では-1しかないので、完走していない人をフィルタリングすることができます.
参加者配列で、回転中の値がobjの場合、同じ名前のユーザが既に存在する場合をどのようにチェックしますか?
対象の「key」の顔が見慣れていないような気がしますが、理解が必要です.
[]を使用して、私が設定したキーをobjectのpropertyに設定して読み取ります. JS Object property . vs [] nation .表現アクセスオブジェクトの属性 []表現は変数として にアクセスできる.
注:Noジョセフ(ほとんどジョセフのコードを勉強しています...)https://velog.io/@noyo0123/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-javascript-%EC%99%84%EC%A3%BC%ED%95%98%EC%A7%80-%EB%AA%BB%ED%95%9C-%EC%84%A0%EC%88%98-otk2fxojro
js object-keyvs object-key差異:https://medium.com/sjk5766/javascript-object-key-vs-object-key-%EC%B0%A8%EC%9D%B4-3c21eb49b763
ソース:プログラマhttps://programmers.co.kr/learn/courses/30/lessons/42576
アルゴリズムをたゆまず学ぶことで知識を得ましょう.
動機。
アルゴリズムの勉強を始めるために、私と2つの動機で勉強を始めました.
3人ともどこから始めたいのか、1週間に1つのコンセプトで、プログラマーの質問に答えたいので、ハッシュから始めます.
ハッシュ概念
問題1完走できなかった選手
問題自体はソートがより速く,より簡単であると考えられるが,ハッシュを学習する目的は学習であるため,ハッシュをどのように適用するかを考えてきた.
ろんり
参加者と完走者の順位の違いは,無条件1名で完走できないことを意味する.
ハッシュは[key-value]の組合せであるため、key、valueとして指定する必要があります.
->参加者のインデックスをkey(name)-value(1)と見なします.
各キーには、参加者の周りに1の値が割り当てられます.
その後、完了者配列の周りにキー値を検索するとvalue-1になります.つまり、同じ名前の人が参加すると、参加者のランキングによってvalue=2になります.完走した人の中では-1しかないので、完走していない人をフィルタリングすることができます.
問題
let iterable = new Map([["a", 1], ["b", 2], ["c", 3]]);
for (let entry of iterable) {
console.log(entry);
}
// [a, 1]
// [b, 2]
// [c, 3]
for (let [key, value] of iterable) {
console.log(value);
}
// 1
// 2
// 3
[]を使用して、私が設定したキーをobjectのpropertyに設定して読み取ります.
コミットコード
function solution(participants, completions) {
var answer = '';
const obj = {};
for(const participant of participants){
if(!obj[participant]){
obj[participant] = 1;
}else{
obj[participant] += 1;
}
}
for(const completion of completions) {
if(obj[completion]) {
obj[completion] -= 1;
}
}
for(const [key, value] of Object.entries(obj)) {
if(value > 0) {
return answer = key;
}
}
return answer;
}
コメントとソース
注:Noジョセフ(ほとんどジョセフのコードを勉強しています...)https://velog.io/@noyo0123/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-javascript-%EC%99%84%EC%A3%BC%ED%95%98%EC%A7%80-%EB%AA%BB%ED%95%9C-%EC%84%A0%EC%88%98-otk2fxojro
js object-keyvs object-key差異:https://medium.com/sjk5766/javascript-object-key-vs-object-key-%EC%B0%A8%EC%9D%B4-3c21eb49b763
ソース:プログラマhttps://programmers.co.kr/learn/courses/30/lessons/42576
Reference
この問題について([プログラマー]アルゴリズム-走りきれない選手をハッシュする), 我々は、より多くの情報をここで見つけました https://velog.io/@sohyeon00/알고리즘-해시テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol