Programmers

[Programmers / Python 풀이] 모의고사

Hoo_Dev 2022. 12. 27. 20:37
def solution(answers):
    answer = []
    mans = [0, 0, 0]
    
    pattern = [[1,2,3,4,5], [2,1,2,3,2,4,2,5], [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]]
    
    for i in range(len(pattern)):
        for j in range(len(answers)):
            ans = answers[j]
            if ans == pattern[i][j%len(pattern[i])]:
                mans[i] += 1
    
    for i in range(len(mans)):
        if max(mans) == mans[i]:
            answer.append(i+1)
    return answer

각 사람들의 패턴을 먼저 파악 후 패턴들과 정답들을 비교 ( 정답 비교 방법은 패턴을 반복해서 정답과 비교하는 방법인데 패턴의 인덱스를 패턴의 개수로 나눈 나머지로 파악하면 지속적인 반복이 가능하다)

 

이후 최다 정답자를 찾아서 answer에 넣어주면 된다.