호기심 많은 분석가

[프로그래머스] 완전탐색 - 모의고사 (Python) 본문

Coding/Coding Test & Algorithm

[프로그래머스] 완전탐색 - 모의고사 (Python)

DA Hun 2021. 6. 28. 14:33
 

코딩테스트 연습 - 모의고사

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는

programmers.co.kr

def solution(answers):
    answer = [0, 0, 0]
    result = []
    su_1 = [1, 2, 3, 4, 5]*8
    su_2 = [2, 1, 2, 3, 2, 4, 2, 5]*5
    su_3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]*4
    for i in range(len(answers)) :
        j = i%40
        if answers[i]==su_1[j] :
            answer[0] += 1
        if answers[i]==su_2[j] :
            answer[1] += 1
        if answers[i]==su_3[j] :
            answer[2] += 1
    for k in range(len(answer)) :
        if answer[k] == max(answer) :
            result.append(k+1)
    return result

 우선 반복되는 수열들의 최소공배수를 구하여 같은 갯수의 수열을 가지도록 구현(같은 인덱스로 접근하기 쉽게 함). 그 다음 정답번호와 비교하여 맞출 때마다 answer에 1씩 추가해준다. 마지막으로 가장 높은 점수를 받은 유저만 출력하도록 for문을 통해 구현했다.