[프로그래머스] 모의고사 문제 풀이



1. 문제

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

2. 풀이

  • 한 정답씩 일일히 비교하면서 정답 수를 구한 후, 최대값을 가진 요소만 정답으로 출력하면 되는 간단한 문제입니다. for문을 이용하여 일일히 비교하면 되는 문제입니다.
def solution(answers):
    user_answer = [[1, 2, 3, 4, 5],
                   [2, 1, 2, 3, 2, 4, 2, 5],
                   [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]]
    answers_count = [0,0,0]
    
    for i, x in enumerate(answers):
        for u in range(3):
            if user_answer[u][i%len(user_answer[u])] == x:
                answers_count[u] += 1
    
    answer = []
    max_val = max(answers_count)
    for i, x in enumerate(answers_count):
        if x == max_val :
            answer.append(i+1)
    
    return answer