728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42889
function solution(N, stages) {
stages.sort((a, b) => a - b);
let map=new Map()
for(let i=0;i<stages.length;i++){
if(!map.get(stages[i])){
map.set(stages[i],1)
}else{
map.set(stages[i],map.get(stages[i])+1)
}
}
for(let i=1;i<=N;i++){
if(!map.get(i)){
map.set(i,0)
}
}
let newArr=[...map]
newArr.sort((a,b)=>a[0]-b[0])
let answer=[]
for(let i=0;i<N;i++){
answer.push([i+1,0])
}
for(let i=0;i<answer.length;i++){
if(!newArr[i])continue
let volunteer=newArr.slice().splice(i,newArr.length).reduce((a,b)=>a+b[1],0)
let failTrialOfIdx=newArr[i][0]-1===i?newArr[i][1]:0
answer[i]=[i+1,failTrialOfIdx/volunteer]
}
answer=answer.sort((a,b)=>b[1]-a[1]).map((item)=>item[0])
return answer
}
728x90
'알고리즘' 카테고리의 다른 글
2018 kakao blind recruitment >[1차] 비밀지도 (0) | 2024.03.25 |
---|---|
[카카오 인턴]>수식 최대화 (0) | 2024.03.22 |
2020 카카오 인턴십>키패드 누르기 (0) | 2024.03.21 |
2022 KAKAO BLIND RECRUITMENT>신고 결과 받기도움말 (0) | 2024.03.18 |
2022 kakao tech internship > 성격 유형 검사하기 (3) | 2024.03.18 |