띵유로그

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

알고리즘

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

띵유 2020. 9. 6. 21:24
반응형

 

내 풀이

def solution(answers):
    answer = []
    cnt1=0
    cnt2=0
    cnt3=0
    list1=[1,2,3,4,5]
    list2=[2,1,2,3,2,4,2,5]
    list3=[3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    for i in range(len(answers)):
        if answers[i]-list1[i%5]==0:
            cnt1+=1
        if answers[i]-list2[i%8]==0:
            cnt2+=1
        if answers[i]-list3[i%10]==0:
            cnt3+=1
    corr=[cnt1,cnt2,cnt3]
    corr_max=max(corr)
    for i in range(len(corr)):
        if corr[i]==corr_max:
            answer.append(i+1)
    return answer

- 순회할 때 : len로 나눈 나머지 이용 

 

다른사람 풀이)

1. cnt1, cnt2, cnt3 변수를 만드는 것보다 효율적인 방법 : cnt=[] 배열을 만들고 각 인덱스에 cnt 값을 올림
2. 중복 최댓값 return 방법 : 

    for idx, v in enumerate(corr):

            if v==max(corr):

                 answer.append(idx+1)

 

반응형
Comments