모의고사

hyuri·2023년 9월 27일
0

코딩테스트 연습

목록 보기
43/70

내가 작성한 답

function solution(answers) {
    let answer = [];
    let stu1count = 0, stu2count = 0, stu3count = 0;
    const stu1 = [1,2,3,4,5];
    const stu2 = [2, 1, 2, 3, 2, 4, 2, 5];
    const stu3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];

    answers.map((ans,idx) => {
        if (ans == stu1[idx % stu1.length]){
            stu1count++;
        }
        if (ans == stu2[idx % stu2.length]){
            stu2count++;
        }
        if (ans == stu3[idx % stu3.length]){
            stu3count++;
        }
    });
    const stuArray = [stu1count, stu2count, stu3count];
    if (stu1count == Math.max(...stuArray)) answer.push(1);
    if (stu2count == Math.max(...stuArray)) answer.push(2);
    if (stu3count == Math.max(...stuArray)) answer.push(3);

    return answer;
}

다른 답

function solution(answers) {
    var answer = [];
    var a1 = [1, 2, 3, 4, 5];
    var a2 = [2, 1, 2, 3, 2, 4, 2, 5]
    var a3 = [ 3, 3, 1, 1, 2, 2, 4, 4, 5, 5];

    var a1c = answers.filter((a,i)=> a === a1[i%a1.length]).length;
    var a2c = answers.filter((a,i)=> a === a2[i%a2.length]).length;
    var a3c = answers.filter((a,i)=> a === a3[i%a3.length]).length;
    var max = Math.max(a1c,a2c,a3c);

    if (a1c === max) {answer.push(1)};
    if (a2c === max) {answer.push(2)};
    if (a3c === max) {answer.push(3)};


    return answer;
}

해석

profile
개발자가 되고 싶은 지망생

0개의 댓글