Lv 1. 失敗率
📚 質問する
失敗率
https://programmers.co.kr/learn/courses/30/lessons/42889
💡 に近づく
アルゴリズムで実現するために,ルールを探す努力をする.
なるべくfor文は使わないようにしていますが、stage 1~Nの失敗率が求められ、for文しかないようなので、for文で失敗率を求めるアルゴリズムを作成しました.
まず,=stages配列における分子の1からN個のステージ上のプレイヤー数.
分母=ステージ以上のプレイヤー数
計算を実装するコード
失敗率を求め,大きな開始から並べ替え,対応する失敗率のインデックスを返すアルゴリズムで近似する.
1つの配列に{stage:失敗率}からなるオブジェクトを割り当て、配列を返すコードを実現するためにstageを再割り当てします.
▼コード function solution(N, stages) {
let rateArr = []; // 실패율 할당 배열
for (let i = 1; i <= N; i++){
let rate = stages.filter(value => value === i).length / stages.filter(value => value >= i).length // filter메소드로 조건에 맞는 플레이어의 수만 걸러서 실패율 계산
rateArr.push({stage : i, rate : rate}) // 배열안에 {stage : rate} 객체 push
}
rateArr.sort((a,b) => b.rate - a.rate) // rate를 정렬
return rateArr.map(el => el.stage) // map메소드로 정렬된 객체의 stage만 새로운 배열에 return해줌
}
📝 コメント
オブジェクトを配列に入れることができるのは知っていますが、私は関連する問題を解決したことがないようです.
sort,mapなどの手法も配列でしか使用されていないが,配列中のオブジェクトにアクセスするコードは実現されていないため,多くの検索が行われている.
私はあなたにもっと対象構造を熟知させるように努力します!
Reference
この問題について(Lv 1. 失敗率), 我々は、より多くの情報をここで見つけました
https://velog.io/@khakaa/Lv-1.-실패율
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
function solution(N, stages) {
let rateArr = []; // 실패율 할당 배열
for (let i = 1; i <= N; i++){
let rate = stages.filter(value => value === i).length / stages.filter(value => value >= i).length // filter메소드로 조건에 맞는 플레이어의 수만 걸러서 실패율 계산
rateArr.push({stage : i, rate : rate}) // 배열안에 {stage : rate} 객체 push
}
rateArr.sort((a,b) => b.rate - a.rate) // rate를 정렬
return rateArr.map(el => el.stage) // map메소드로 정렬된 객체의 stage만 새로운 배열에 return해줌
}
オブジェクトを配列に入れることができるのは知っていますが、私は関連する問題を解決したことがないようです.
sort,mapなどの手法も配列でしか使用されていないが,配列中のオブジェクトにアクセスするコードは実現されていないため,多くの検索が行われている.
私はあなたにもっと対象構造を熟知させるように努力します!
Reference
この問題について(Lv 1. 失敗率), 我々は、より多くの情報をここで見つけました https://velog.io/@khakaa/Lv-1.-실패율テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol