Haribo ML, AI, MATH, Algorithm

모의 고사

2021-01-16
Haribo

모의 고사

시험은 최대 10000 문제로 정해져 있으므로, 찍는 패턴을 10000개씩 만들어주고 numpy 를 이용해 각 학생별로 맞춘 갯수를 {학생 : 점수} 형식으로 만든 후, 가장 많이 맞춘 학생을 찾아 return 해 주는데 정답자가 여러명일 수 있으니 각 학생 점수 max 값과 비교하여 정답을 return 합니다.

코드

import numpy as np
def solution(answers):
    n = len(answers)
    students = {1 : np.array([1, 2, 3, 4, 5]*2000),
                2 : np.array([2, 1, 2, 3, 2, 4, 2, 5]*1250),
                3 : np.array([3, 3, 1, 1, 2, 2, 4, 4, 5, 5]*1000)}
    answer = {}
    for student, ans in students.items() :
        answer[student] = sum(np.array(answers) == ans[:n])
    return [x for x in [1, 2, 3] if answer[x] == max(answer.values())]

Similar Posts

이전 포스트 두 정수 사이의 합

Comments