function solution(answers) {
let answer = [];
let p1 = [1, 2, 3, 4, 5];
let p2 = [2, 1, 2, 3, 2, 4, 2, 5];
let p3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
let p1Cnt = answers.filter((a, idx) => a === p1[idx % p1.length]).length;
let p2Cnt = answers.filter((a, idx) => a === p2[idx % p2.length]).length;
let p3Cnt = answers.filter((a, idx) => a === p3[idx % p3.length]).length;
let max = Math.max(p1Cnt, p2Cnt, p3Cnt); //제일 많이 맞춘사람 찾기
if (p1Cnt === max) answer.push(1);
if (p2Cnt === max) answer.push(2);
if (p3Cnt === max) answer.push(3);
return answer;
}
filter()와 나머지 연산를 통해 answers의 길이가 수포자1,2,3 패턴의 길이보다 길어도 인덱스가 맞춰지게 하였다.
맞춘 갯수의 최댓값을 저장하고, 최댓값과 일치하는 사람 번호를 answer에 push