kakasoo

[node.js] 모의고사 ( 프로그래머스 레벨1 ) 본문

프로그래밍/알고리즘 풀이

[node.js] 모의고사 ( 프로그래머스 레벨1 )

카카수(kakasoo) 2021. 6. 25. 16:47
반응형
// 프로그래머스 level1 모의고사

const first = [1,2,3,4,5];
const second = [2,1,2,3,2,4,2,5];
const third = [3,3,1,1,2,2,4,4,5,5];

function checkTest (answers, submits) {
    let count = 0;
    for (let i = 0; i < answers.length; i++) {
        if (answers[i] === submits[i % submits.length]) {
            count++;
        }
    }    
    return count;
}

function solution(answers) {
    var answer = [];
    let point = [];
    point.push(checkTest(answers, first));
    point.push(checkTest(answers, second));
    point.push(checkTest(answers, third));

    let maxValue = -987654321;
    for (let i = 0; i < point.length; i++) {
        if (maxValue < point[i]) {
            maxValue = point[i];   
        }
    }

    for (let i = 0; i < point.length; i++) {
        if( maxValue === point[i]) {
            answer.push(i + 1);       
        }
    }

    return answer;
}

옛날 코드라서 조금 지저분하다.
프로토타입으로 주어진 메서드들이 뭐가 있는지 잘 모를 때라서, Math.max 조차 몰랐다.
최근에 친구들을 가르쳐주면서 내 과거 코드를 봤는데, 이걸 가르쳐주면 안되겠구나 라는 걸 느꼈다.

JavaScript를 막 배울 때라서, 그냥 C++ 스러운 코드를 짰다.

반응형