자기개발👨‍💻/코딩 알고리즘

[python] 프로그래머스 모의고사

천숭이 2021. 1. 7. 20:07
def solution(prob):
    answer=[[1,2,3,4,5]*len(prob),[2,1,2,3,2,4,2,5]*len(prob),[3,3,1,1,2,2,4,4,5,5,]*len(prob)]    
    result = []
    cnt=[0,0,0]
    for i in range(len(prob)):
        if prob[i]==answer[0][i] :
                cnt[0]+=1
        if prob[i]==answer[1][i] :
                cnt[1]+=1
        if prob[i]==answer[2][i]:
                cnt[2]+=1
                
    maxx = max(cnt)

    for i in range(len(cnt)):
        if cnt[i] == maxx:
            cnt[i]-=1
            result.append(i+1)

    return result

먼저 수포자들이 찍은 정답들을 충분히 크게 선언해 answer 이차원 리스트에 저장한다.

cnt 리스트에 수포자들이 맞힌 정답들의 개수를 차례로 저장하고 result리스트에 많이 맞힌 원소의 인덱스를 저장한다 (이때 리스트의 인덱스는 0부터 시작하므로 1을 더해준다)