-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
풀이미흡제대로 풀이하지 못함.제대로 풀이하지 못함.
Description
⚠️ 나의 풀이
- failUser : 각 stage별로 해당 스테이지에 머무르고 있는 사람 count;
for (let i = 0; i < stages.length; i++) {
failUser[stages[i] - 1]++;
}- 반복문 돌면서 아래와 같이 계산
totalUser[N] = failUser[N];
for (let i = answer.length - 1; i >= 0; i--) {
totalUser[i] = failUser[i] + (i + 1 <= N ? totalUser[i + 1] : 0);
answer[i] = failUser[i] == 0 ? 0 : failUser[i] / totalUser[i];
}❗️ 오답 원인 분석
- 실패율을 내림차순으로 정렬해서 스테이지를 전달해주는 것을
c++이었으면pair를 사용했겠지만 javascript에서는 어떻게 구현할지 생각이 떠오르지 않음.
🔑 풀이 핵심
- stage정보와 실패율 모두 저장하기 =
arr.push[스테이지, 실패율]) - sort는 두번째 원소 기준 정렬하고
answer.sort((a, b) => b[1] - a[1]) - 정렬한 배열은 첫번째 원소만 저장하도록 변경
answer.map((a) => a[0])
- 그리고 문제 풀이 방식을 반대로 생각해보기
- i번째 위치에서 실패한 사람 count
- 실패율 = 실패한사람수 / 총인원 // 이 위치까지 도전한 총 인원 = 초기값은 전체 인원 수
- 총인원 -= 실패한 사람 수
Metadata
Metadata
Assignees
Labels
풀이미흡제대로 풀이하지 못함.제대로 풀이하지 못함.