完走していない選手
4225 ワード
問題の説明
多くのマラソン選手がマラソンに参加した.1人の選手を除いて、すべての選手がマラソンを完走した.
マラソンに出場する選手の名前と完走した選手の名前の並びが完成したら、完走していない選手の名前を返す解決関数を書いてください.
私が書いたコード
function solution(participant, completion) {
participant
let answer = participant.filter( (el => {
return !completion.includes(el)
}))
return answer[0];
}
最初は参加者の名前に完成した名前が含まれていなかったのは、完走しなかった選手だったはずだ.そしてフィルターを利用してフィルターを行いました.
しかし、同名の人物がいることが阻害された.
例#3
「誤導」は参加者リストに2人いたが、完走者リストには1人しかいなかったため、1人は完走しなかった.
修正されたコード
function solution(participant, completion) {
completion.sort();
participant.sort();
for (let i = 0; i < participant.length; i++ ){
if (participant[i] !== completion[i]){
return participant[i]
}
}
}
いつも方法が思いつかない.質問ボタンがあったので押してみたら、質問テーマでsortがたくさん見えました.
その瞬間は幸いにもすぐに論理を思いついた.
sortを使用して2つの配列の要素をソートし、繰り返し文でループすると、
含まれていない名前から、2つの配列の要素が異なります.
これにより、2つの配列の要素が一致しない場合、参加者の対応する要素が返されます.
(完成は完全な選手リストなので)
採点結果
質問リンク
https://programmers.co.kr/learn/courses/30/lessons/42576
Reference
この問題について(完走していない選手), 我々は、より多くの情報をここで見つけました
https://velog.io/@woals3000/완주하지-못한-선수
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(完走していない選手), 我々は、より多くの情報をここで見つけました https://velog.io/@woals3000/완주하지-못한-선수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol