CS/코딩 테스트

모의고사

valleycho-tech 2025. 3. 17. 11:11

코딩테스트 문제

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

문제 접근)
완전탐색에는 여러 접근 알고리즘 방식이 있는데 해당 문제는 수포자가 찍는 정답이 얼마나 많이 맞는지를 보는 것이므로 하나씩 확인하면서(brute force)방식으로 체크하면 된다

정답 및 해설

function solution(answers) {
    let result = [];
    
    let saram1 = [1,2,3,4,5];
    let saram2 = [2,1,2,3,2,4,2,5];
    let saram3 = [3,3,1,1,2,2,4,4,5,5];

    const saram1C = answers.filter((answer, index) => answer === saram1[index%saram1.length]).length;
    const saram2C = answers.filter((answer, index) => answer === saram2[index%saram2.length]).length;
    const saram3C = answers.filter((answer, index) => answer === saram3[index%saram3.length]).length;
    // 가장 많이 맞힌 갯수 체크
    const max = Math.max(saram1C, saram2C, saram3C);
    
    // 가장 많이 맞힌 갯수만큼 result에 순서대로 넣어주기
    if (saram1C === max) result.push(1);
    if (saram2C === max) result.push(2);
    if (saram3C === max) result.push(3);
    
    return result;
}