プログラマー|完走していない選手JS
1836 ワード
難易度:Level.1
言語:Javascript
出題履歴:ハッシュ
マラソンで完走できなかった人を探す
参加者リストには完走者リストにない名前があるからだ.
参加者名簿に完走した人のリストが見つかったら、「」に変換します.
このようにして最後に回し,名前を1つだけ残し,
その値を答えに入れてテストに合格した.
しかし、効率テストでは、完全に失敗(?)吐き出す...;
反復文でインデックス値を使用して値を検索する場合があります
同じタスクを繰り返すと、効率が低下する可能性があります.
同じインデックス間の値が異なる場合、
この値を「回答」に挿入し、重複文を終了しました.
効率も考慮すべき問題です.
また少し時間がかかったようです.
言語:Javascript
出題履歴:ハッシュ
❓ Question
マラソンで完走できなかった人を探す
📝 My Solution
フルプールコード 👈🏻 クリックしてGithubに移動
function solution(participant, completion) {
var answer = '';
for (let i = 0; i<participant.length; i++) {
if (participant.indexOf(completion[i]) >= 0) {
participant[participant.indexOf(completion[i])] = ''
}
}
answer = participant.join('')
return answer;
}
私は参加者リストと完走者リストの並びで複文を作った.参加者リストには完走者リストにない名前があるからだ.
参加者名簿に完走した人のリストが見つかったら、「」に変換します.
このようにして最後に回し,名前を1つだけ残し,
join
関数を用いて集計する.その値を答えに入れてテストに合格した.
しかし、効率テストでは、完全に失敗(?)吐き出す...;
反復文でインデックス値を使用して値を検索する場合があります
同じタスクを繰り返すと、効率が低下する可能性があります.
function solution(participant, completion) {
var answer = '';
participant.sort();
completion.sort();
for (let i = 0; i<participant.length; i++) {
if (participant[i] !== completion[i]) {
answer = participant[i]
break;
}
}
return answer;
}
したがって,1回だけ繰り返すために,まず2つの配列をsort()
に並べ替えた.同じインデックス間の値が異なる場合、
この値を「回答」に挿入し、重複文を終了しました.
結果
効率も考慮すべき問題です.
また少し時間がかかったようです.
Reference
この問題について(プログラマー|完走していない選手JS), 我々は、より多くの情報をここで見つけました https://velog.io/@sstaar91/Algorithm-Programmers-marathon-fzrel8yaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol