삽집하는 개발들/알고리즘

[43일차][프로그래머스][42840]모의고사

악투 2023. 8. 11. 15:58
반응형
import math

def solution(answers):
    answers_len = len(answers)
    no_1 = [1, 2, 3, 4, 5]
    no_2 = [2, 1, 2, 3, 2, 4, 2, 5]
    no_3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    
    no_1_count = 0
    no_2_count = 0
    no_3_count = 0
    
    if len(no_1) < answers_len:
        no_1 = no_1 * math.ceil(answers_len / len(no_1))
    if len(no_2) < answers_len:
        no_2 = no_2 * math.ceil(answers_len / len(no_2))
    if len(no_3) < answers_len:
        no_3 = no_3 * math.ceil(answers_len / len(no_3))
    
    for idx in range(answers_len):
        if no_1[idx] == answers[idx]:
            no_1_count += 1
        if no_2[idx] == answers[idx]:
            no_2_count += 1
        if no_3[idx] == answers[idx]:
            no_3_count += 1
    
    if no_1_count == no_2_count == no_3_count:
        return [1,2,3]
    elif no_1_count == no_2_count and no_1_count > no_3_count:
        return [1,2]
    elif no_1_count > no_2_count and no_1_count == no_3_count:
        return [1,3]
    elif no_2_count > no_1_count and no_2_count == no_3_count:
        return [2,3]
    elif no_1_count > no_2_count and no_1_count > no_3_count:
        return [1]
    elif no_2_count > no_1_count and no_2_count > no_3_count:
        return [2]
    else:
        return [3]

 

반응형