본문 바로가기

⏳ 알고리즘/JavaScript 알고리즘

프로그래머스 - LV1. 모의고사

문제

https://programmers.co.kr/learn/courses/30/lessons/42840?language=javascript 

 

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

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

programmers.co.kr

 

코드

function solution(answers) {
    var answer = [];
    let scores = [0, 0, 0]
    let pattern_1 = [1,2,3,4,5,1,2,3,4,5]
    let pattern_2 = [2,1,2,3,2,4,2,5]
    let pattern_3 = [3,3,1,1,2,2,4,4,5,5]
    
    for (let i=0; i<answers.length; i++) {
        if (answers[i] == pattern_1[i%pattern_1.length]) {
            scores[0] += 1
        }
        if (answers[i] == pattern_2[i%pattern_2.length]) {
            scores[1] += 1
        }
        if (answers[i] == pattern_3[i%pattern_3.length]) {
            scores[2] += 1
        }
    }
    
    let max = Math.max(...scores);
    for (let i=0; i<scores.length; i++) {
        if (scores[i] == max) {
            answer.push(i+1)
        }
    }
    
    return answer;
}