FrontEnd/프로그래머스

[JS] 모의고사

728x90

수포자 3명이 답을 적는 방식을 배열에 미리 저장해두었다. 이후, reduce로 맞았는지 틀렸는지를 계산해 가며 총 몇개 맞췄는지에 대한 저보를 저장해두었다.

 

마지막으로, 최대값들의 idx값들을 저장한 배열을 return해주었다.

 

 

function solution(answers) {
    
    const ary = [[1,2,3,4,5],[2,1,2,3,2,4,2,5],[3,3,1,1,2,2,4,4,5,5]]

    const cntLst = answers.reduce((a,c,idx) => [ ...new Array(3) ].map((_,i) => c === ary[i][idx%ary[i].length]  ? a[i]+1 : a[i]) ,[0,0,0]);
    
    const ret = []
    for (let i = 0 ; i< 3 ; i++) if (cntLst[i]===Math.max(...cntLst)) ret.push(i+1)
    return ret
    
}
728x90

'FrontEnd > 프로그래머스' 카테고리의 다른 글

[JS] 완주하지 못한 선수  (0) 2023.04.28
[JS] K번째 수  (0) 2023.04.27
[JS] 체육복  (0) 2023.04.25
[JS] 실패율  (0) 2023.04.24
[JS] 크레인 인형뽑기  (1) 2023.04.23