失敗率
6257 ワード
失敗率
説明:失敗率
簡単な質問の説明:
要するに失敗率を求めることだ.(このステージをクリアできないプレイヤー数)/(全プレイヤー数).I/Oの例では、ステージ配列の長さはユーザ全体を指します.配列要素が1の場合、1は現在1つしかありません.そのプレイヤーは1でクリアできない.だから第1段階で失敗率を求めるのは1/8です.配列要素が2であれば、2は現在3つです.前の説明によると、3/8のはずですが、すでに計算されているプレイヤーは除外されているので、3/7です.また、3は2/4で、このまま続けます.
コード:function solution(N, stages) {
//=> 필터링 부분
const failRatio = getFail(N, stages);
return failRatio.sort((a, b) => b.ratio - a.ratio).map((ele) => ele.idx); //=> sort를 이용한 내림차순으로 정렬하였고 map으로 idx의 요소들만 골라내여 배열에 담았음!
}
function getFail(N, stages) {
//=> 기본 실패율을 구하는 함수
const temp = [];//=> 중간결과 값을 담을 배열
let result; //=> 각 스테이지의 실패율을 담을 상자
let stagelen = stages.length; //=> 총 유저의수
for (let i = 1; i <= N; i++) { //=> N은 스테이지수를 의미한다. 입출력 예시에 6이 있는데 굳이 6까지 갈필요가 없다.
let stage = stages.filter((e) => e === i).length; //=> 필터로 스테이지를 골라냄 그래서 그거의 길이를 구하면 그 스테이지를 클리어 못하는 있는 유저의수가 됨
if (stage === 0) {
result = 0; //=> 만약에 유저수가 영이라면 결과에 0을 담아야함.
} else {
result = stage / stagelen;
//=> 유저수가 있는 경우에는 실패율이 결과값에 담겨야됨
}
stagelen -= stage;
//=> 이부분은 분모에 해당하는 전체유저를 앞서 산출하였던 부분을 제외시켜주는 부분이다.
temp.push({ idx: i, ratio: result }); //=> 결과 값을 담아줌.
}
return temp; //=> 리턴!
}
振り返る:髪の毛がかじかんだ.もっと力を入れる.
Reference
この問題について(失敗率), 我々は、より多くの情報をここで見つけました
https://velog.io/@godkor200/실패율
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
function solution(N, stages) {
//=> 필터링 부분
const failRatio = getFail(N, stages);
return failRatio.sort((a, b) => b.ratio - a.ratio).map((ele) => ele.idx); //=> sort를 이용한 내림차순으로 정렬하였고 map으로 idx의 요소들만 골라내여 배열에 담았음!
}
function getFail(N, stages) {
//=> 기본 실패율을 구하는 함수
const temp = [];//=> 중간결과 값을 담을 배열
let result; //=> 각 스테이지의 실패율을 담을 상자
let stagelen = stages.length; //=> 총 유저의수
for (let i = 1; i <= N; i++) { //=> N은 스테이지수를 의미한다. 입출력 예시에 6이 있는데 굳이 6까지 갈필요가 없다.
let stage = stages.filter((e) => e === i).length; //=> 필터로 스테이지를 골라냄 그래서 그거의 길이를 구하면 그 스테이지를 클리어 못하는 있는 유저의수가 됨
if (stage === 0) {
result = 0; //=> 만약에 유저수가 영이라면 결과에 0을 담아야함.
} else {
result = stage / stagelen;
//=> 유저수가 있는 경우에는 실패율이 결과값에 담겨야됨
}
stagelen -= stage;
//=> 이부분은 분모에 해당하는 전체유저를 앞서 산출하였던 부분을 제외시켜주는 부분이다.
temp.push({ idx: i, ratio: result }); //=> 결과 값을 담아줌.
}
return temp; //=> 리턴!
}
Reference
この問題について(失敗率), 我々は、より多くの情報をここで見つけました https://velog.io/@godkor200/실패율テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol