[JS]모의고사

GiSeong Lee·2022년 10월 15일
0

function solution(answers) {
    var answer = [];
    const a = [1,2,3,4,5];
    const b = [2,1,2,3,2,4,2,5];
    const c = [3,3,1,1,2,2,4,4,5,5];
    
    const a1c = answers.filter((a1,i)=> a1 === a[i%a.length]).length;
    const b1c = answers.filter((b1,i)=> b1 === b[i%b.length]).length;
    const c1c = answers.filter((c1,i)=> c1 === c[i%c.length]).length;
    
    const winner = Math.max(a1c, b1c, c1c);
    
    if(a1c === winner) answer.push(1);
    if (b1c === winner) answer.push(2);
    if (c1c === winner) answer.push(3);
  
    return answer;
}

함수를 많이 써봐야겠다 생각이 든 문제이다. filter()를 사용해서 a1, b1, c1 배열에서 주기에 따라 인덱스를 순회하도록 만들었다. 그 후 결과 값의 길이를 반환하고 누가 제일 높은 점수를 맞았는지 push를 통해 answer에 추가해 주었다.

profile
프론트가 하고싶어요

0개의 댓글