난이도 : Level. 1
언어 : Javascript
출제 내역 : 완전탐색
3명의 수포자가 문제를 찍는 방식에 따라서
어떤 학생이 가장 많은 문제를 맞췄는지 확인해봅시다.
function solution(answers) {
var answer = [];
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];
먼저 3명의 수포자가 수학시험에서 답을 고르는 방식을
각각 배열로 정해줍니다.
let ans1 = answers.filter((a, i) => a === stu1[i % 5]).length;
let ans2 = answers.filter((a, i) => a === stu2[i % 8]).length;
let ans3 = answers.filter((a, i) => a === stu3[i % 10]).length;
filter()
함수를 이용해서 각 학생 별 정답을 맞춘 갯수를 내줍니다.
let max = Math.max(ans1, ans2, ans3);
if (max === ans1) answer.push(1);
if (max === ans2) answer.push(2);
if (max === ans3) answer.push(3);
return answer;
}
그 중 가장 높은 수를 max로 하고,
어떤 학생이 가장 높은 점수를 얻었는지 확인해서 정답 배열에 넣어줍니다.
filter 함수에 대해서도 좀 더 공부할 필요가 있을 것 같습니다