본문 바로가기
알고리즘/프로그래머스 level 1,2

[파이썬🐍] 프로그래머스 : 모의고사

by 코딩개미뚠뚠 2021. 4. 18.
반응형
def solution(answers):
    answer_1=[1,2,3,4,5]
    answer_2=[2,1,2,3,2,4,2,5]
    answer_3=[3,3,1,1,2,2,4,4,5,5]
    score=[0,0,0]
    result=[]
    for idx,answer in enumerate(answers):
        if answer==answer_1[idx%len(answer_1)]:
            score[0]+=1
        if answer==answer_2[idx%len(answer_2)]:
            score[1]+=1
        if answer==answer_3[idx%len(answer_3)]:
            score[2]+=1
    for idx,s in enumerate(score):
        if s==max(score):
            result.append(idx+1)
    return result

처음에는 answer_1,2,3을 각각 answer길이에 맞춰서 반복해줄까 생각을 했는데 그건 너무 비효율적이라고 생각하여

고안한 방법이다. 사실 이 방법을 생각해내기까지 좀 오래걸렸다...ㅎ

index를 사용한 방법이다. 이렇게 코딩하니까 효율적인것 같다.

 

결론 : enumerate() 를 잘 활용하자!!

반응형

댓글