CK 005|フルコースを走っていない選手(javascript)
5623 ワード
質問する
🔗 完走していない選手
多くのマラソン選手がマラソンに参加した.1人の選手を除いて、すべての選手がマラソンを完走した.
マラソンに出場する選手の名前と完走した選手の名前の並びが完成したら、完走していない選手の名前を返す解決関数を書いてください.
せいげんじょうけん
私が書いたコード
function solution(participant, completion) {
participant.sort();
completion.sort()
for(let i in participant) {
if(participant[i] !== completion[i]) return participant[i]
}
return participant[-1]
}
まず,参加者の配列と完了配列を並べ替える.同じインデックスに存在する名前が異なる場合(参加者が未完了の参加者であるため)、参加者が返されます.
繰り返し文が終了すると、上記のプロシージャに戻り値がない場合、参加者が最後の位置を並べた参加者の名前が返されます.(彼らも完走していない参加者なので)
他人の解答
var solution=(_,$)=>_.find(_=>!$[_]--,$.map(_=>$[_]=($[_]|0)+1))
分からない文法が多くて、理解しにくいです...var solution=(participant,completion)=>participant.find(name=>!completion[name]--,completion.map(name=>completion[name]=(completion[name]|0)+1))
コメントの解釈から、上記の文法で動作するように、完走した人の並びを「名前:完走した人の並びが現れる回数」とマッピングし、地図に参加者の名前を入れ、探すたびに回数を減らし、回数0の参加者を探し出す.Reference
この問題について(CK 005|フルコースを走っていない選手(javascript)), 我々は、より多くの情報をここで見つけました https://velog.io/@thisisemptyyy/CK-005-완주하지-못한-선수javaScriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol