내가 작성한 답
function solution(answers) {
let answer = [];
let stu1count = 0, stu2count = 0, stu3count = 0;
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];
answers.map((ans,idx) => {
if (ans == stu1[idx % stu1.length]){
stu1count++;
}
if (ans == stu2[idx % stu2.length]){
stu2count++;
}
if (ans == stu3[idx % stu3.length]){
stu3count++;
}
});
const stuArray = [stu1count, stu2count, stu3count];
if (stu1count == Math.max(...stuArray)) answer.push(1);
if (stu2count == Math.max(...stuArray)) answer.push(2);
if (stu3count == Math.max(...stuArray)) answer.push(3);
return answer;
}
다른 답
function solution(answers) {
var answer = [];
var a1 = [1, 2, 3, 4, 5];
var a2 = [2, 1, 2, 3, 2, 4, 2, 5]
var a3 = [ 3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
var a1c = answers.filter((a,i)=> a === a1[i%a1.length]).length;
var a2c = answers.filter((a,i)=> a === a2[i%a2.length]).length;
var a3c = answers.filter((a,i)=> a === a3[i%a3.length]).length;
var max = Math.max(a1c,a2c,a3c);
if (a1c === max) {answer.push(1)};
if (a2c === max) {answer.push(2)};
if (a3c === max) {answer.push(3)};
return answer;
}
해석