프로그래머스 완전탐색 알고리즘(모의고사)

Hyor·2023년 10월 9일
0
post-custom-banner

프로그래머스 완전탐색 알고리즘(모의고사)

https://school.programmers.co.kr/learn/courses/30/lessons/42840

후기

처음에는 완전탐색 카테고리에 있는데도 무슨 문제인지 몰라서 헤매다가 수포자들의 정답지에 패턴이 있는것을 발견하고 문제를 풀기 시작하였고 등수 매기는 부분에서도 잠깐 헤멧지만 풀수있었다. 알고리즘 문제에서 무엇을 무얼보는지 어떤한 방법으로 접근해야하는지 찾는게 중요하다는걸 느끼는 문제였다.

function solution(answers) {
    const patterns = [
        [1, 2, 3, 4, 5],
        [2, 1, 2, 3, 2, 4, 2, 5],
        [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    ];

    const scores = Array(3).fill(0);

    answers.forEach((answer, index) => {
        patterns.forEach((pattern, i) => {
            if (answer === pattern[index % pattern.length]) {
                scores[i]++;
            }
        });
    });

    const maxScore = Math.max(...scores);
    const result = scores.reduce((acc, score, index) => {
        if (score === maxScore) {
            acc.push(index + 1);
        }
        return acc;
    }, []);

    return result;
}

const answers1 = [1, 2, 3, 4, 5];
console.log(solution(answers1)); // [1]

const answers2 = [1, 3, 2, 4, 2];
console.log(solution(answers2)); // [1, 2, 3]
profile
개발 노트
post-custom-banner

0개의 댓글