function solution(answers) {
const stu1 = [1,2,3,4,5]
const stu2 = [2,1,2,3,2,4,2,5]
const stu3 = [3,3,1,1,2,2,4,4,5,5]
let answer = []
const result1 = answers.filter((answer, idx) => answer === stu1[idx % stu1.length]).length
const result2 = answers.filter((answer, idx) => answer === stu2[idx % stu2.length]).length
const result3 = answers.filter((answer, idx) => answer === stu3[idx % stu3.length]).length
const bestScore = Math.max(result1, result2, result3)
if(result1 === bestScore) answer.push(1)
if(result2 === bestScore) answer.push(2)
if(result3 === bestScore) answer.push(3)
return answer
}
- stu[정답index] 와 정답을 비교해서 맞은 value 들로만 재배열 후 length 계산
- 각 학생 별 결과를 구한 후 최대값 도출
- 학생의 결과가 최대값과 같으면 answer 배열에 추가
반응형
'알고리즘 > javascript' 카테고리의 다른 글
[프로그래머스] 코딩테스트연습 > 신규아이디 추천 (0) | 2021.09.29 |
---|---|
[프로그래머스] 코딩테스트연습 > 로또의 최고 순위와 최저 순위 (0) | 2021.09.29 |
[프로그래머스] 코딩테스트연습 > 정렬 > K번째 변수 (0) | 2021.09.25 |
[프로그래머스] 코딩테스트연습 > 스택/큐 > 기능개발 (0) | 2021.09.25 |
[프로그래머스] 코딩테스트연습 > 해시 > 위장 (0) | 2021.09.25 |