[프로그래머스] 코딩테스트연습 > 완전탐색 > 모의고사
알고리즘/javascript

[프로그래머스] 코딩테스트연습 > 완전탐색 > 모의고사

 

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

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

programmers.co.kr

 

function solution(answers) {
    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]
    let answer = []
    
    const result1 = answers.filter((answer, idx) => answer === stu1[idx % stu1.length]).length
    
    const result2 = answers.filter((answer, idx) => answer === stu2[idx % stu2.length]).length
        
    const result3 = answers.filter((answer, idx) => answer === stu3[idx % stu3.length]).length
    
    const bestScore = Math.max(result1, result2, result3)
    
    if(result1 === bestScore) answer.push(1)
    if(result2 === bestScore) answer.push(2)
    if(result3 === bestScore) answer.push(3)

    return answer
}
  1. stu[정답index] 와 정답을 비교해서 맞은 value 들로만 재배열 후 length 계산
  2. 각 학생 별 결과를 구한 후 최대값 도출
  3. 학생의 결과가 최대값과 같으면 answer 배열에 추가
반응형