모의고사(프로그래머스)

정승옥(seungok)·2020년 11월 12일
0

프로그래머스

목록 보기
2/40

문제설명

  • 3명의 수포자가 모의고사 문제를 각자 방식으로 찍는다
  • 1번 수포자: 1,2,3,4,5 반복
  • 2번 수포자: 2,1,2,3,2,4,2,5 반복
  • 3번 수포자: 3,3,1,1,2,2,4,4,5,5 반복
  • 가장 많은 문제를 맞힌 사람(들)을 배열로 출력

제한조건

  • 시험은 최대 10,000 문제
  • 정답은 1,2,3,4,5 중 하나
  • 가장 높은 점수가 여러명일 경우 오른차순 정렬

풀이

function solution(answers) {
    let answer = [];
    let correct = [0,0,0];
    const student1 = [1,2,3,4,5];
    const student2 = [2,1,2,3,2,4,2,5];
    const student3 = [3,3,1,1,2,2,4,4,5,5];
    
    for(let i=0;i<answers.length;i++){
        if(answers[i] === student1[i%5])
            correct[0] += 1;
        if(answers[i] === student2[i%8])
            correct[1] += 1;
        if(answers[i] === student3[i%10])
            correct[2] += 1;
    }
 
    correct.map((score,idx)=>{
        if(score === Math.max(...correct))
            answer.push(idx+1);
    })
    return answer;
}

체크포인트

  • Math.max(): 매개변수로 지정된 0개 이상의 숫자중 가장 큰 숫자 반환
  • ex) Math.max(...array1) 또는 Math.max(1,2,3)
profile
Front-End Developer 😁

0개의 댓글