N

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

프로그래머스 알고리즘/1단계

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

naeunchan 2021. 2. 24. 16:55
728x90
반응형

programmers.co.kr/learn/courses/30/lessons/42840

 

코딩테스트 연습 - 모의고사

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는

programmers.co.kr

 

filter 함수를 이용하면 간단하게 답을 구할 수 있다.

A, B, C가 찍은 답과 정답지를 비교하면서 맞은 개수를 각각 저장한다.

그 중에서 최댓값을 구해서 비교하면서 1, 2, 3을 넣어주면 된다.

function solution(answers) {
    let answer = [];
    let A = [1, 2, 3, 4, 5];
    let B = [2, 1, 2, 3, 2, 4, 2, 5];
    let C = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
    
    let aCount = answers.filter((val, index) => val === A[index % A.length]).length;
    let bCount = answers.filter((val, index) => val === B[index % B.length]).length;
    let cCount = answers.filter((val, index) => val === C[index % C.length]).length;
    let max = Math.max(aCount, bCount, cCount);
    
    if(max === aCount){
        answer.push(1);
    }
    if(max === bCount){
        answer.push(2);
    }
    if(max === cCount){
        answer.push(3);
    }
    
    return answer;
}
728x90
반응형