/ ALGORITHM

프로그래머스 - 모의고사

image-20230125221008328

def solution(answers):
    one = [1, 2, 3, 4, 5]
    two = [2, 1, 2, 3, 2, 4, 2, 5]
    three = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    
    nums = len(answers)
    onefitted = nums//len(one)*one + one[:nums%len(one)]
    twofitted = nums//len(two)*two + two[:nums%len(two)]
    threefitted = nums//len(three)*three + three[:nums%len(three)]
    
    onesum = sum(onefitted[i]==answers[i] for i in range(nums))
    twosum = sum(twofitted[i]==answers[i] for i in range(nums))
    threesum = sum(threefitted[i]==answers[i] for i in range(nums))
    
    answer = []
    answer.append([1,onesum])
    answer.append([2,twosum])
    answer.append([3,threesum])
    
    maximum = max(x[1] for x in answer)
    answer.sort(key=lambda x: (x[1],-x[0]), reverse=True)

    final = []
    for i in answer:
        if i[1]==maximum:
            final.append(i[0])
            
    return final