알고리즘

프로그래머스 모의고사 [자바스크립트]

Brad Daeho Lee 2021. 4. 25. 00:36

 

문제

 

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

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

programmers.co.kr

문제풀이

function solution(answers) {
    var answer = [];
    let lst1 = [1,2,3,4,5];
    let lst2 = [2,1,2,3,2,4,2,5];
    let lst3 = [3,3,1,1,2,2,4,4,5,5];
    let cnt1 = 0
    let cnt2 = 0
    let cnt3 = 0
    
    for(let i = 0; i < (answers.length/lst1.length*lst1.length)+(answers.length%lst1.length); i++ ){
        if (answers[i] === lst1[i%lst1.length]){
            cnt1 ++
        }
    };
    for(let i = 0; i < (answers.length/lst2.length*lst2.length)+(answers.length%lst2.length); i++ ){
        if (answers[i] === lst2[i%lst2.length]){
            cnt2 ++
        }
    };
    for(let i = 0; i < (answers.length/lst3.length*lst3.length)+(answers.length%lst3.length); i++ ){
        if (answers[i] === lst3[i%lst3.length]){
            cnt3 ++
        }
    };
    if(cnt1 > cnt2 && cnt1 > cnt3){
        answer.push(1)
    } else if(cnt1 < cnt2 && cnt3 < cnt2){
        answer.push(2)
    } else if (cnt1 < cnt3 && cnt2 < cnt3){
        answer.push(3)
    } else if (cnt1 === cnt2 && cnt1 > cnt3){
        answer.push(1,2)
    } else if (cnt1 === cnt3 && cnt1 > cnt2){
        answer.push(1,3)
    } else if (cnt2 === cnt3 && cnt2 > cnt1){
        answer.push(2,3)
    } else {
        answer.push(1,2,3)
    }
    
    return answer;
}