✅ 코드 실행 - 3개 중 3개 통과!
❌ 제출 후 채점하기 - 12개 중 1개 통과.. -> 3개 통과!
for(let i = 0; i < info.length; i++){
let round = (head2head[i].match(/W/g) || []).length + (head2head[i].match(/L/g) || []).length;
// 시합한 횟수 = 승리한 횟수 + 진 횟수 (승리 또는 패배가 없을 경우 0)
info[i] = {
player: i + 1,
winningrate: (head2head[i].match(/W/g) || []).length / round,
// 승률 = (이긴 횟수 / 경기 횟수)
winning: win(head2head[i], i),
weight: weights[i],
};
}
info = info.sort((a, b) => b.winningrate - a.winningrate);
info = info.sort((a, b) => {
if(a.weight === b.weight){
return a.player - b.player;
}
if(a.winning === b.winning){
return b.weight - a.weight;
}
if(a.winningrate === b.winningrate){
return b.winning - a.winning;
}
});
result = info.map(el => el.player);
질문하기 탭에 들어가 다른 사람들의 코드를 보며 추측하건데, 승률 부분 또는 정렬 부분에서 문제가 있는 거 같다. 승률 구하는 부분은 이래저래 다 써봐도 잘 나오는 거 같고.. 거의 90% 확률로 정렬 부분에서 문제가 있을 거 같음 ^_ㅠ
이 부분은 좀 더 생각해보자!!