찬우의 이것저것 Chanwoo's blog

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

https://programmers.co.kr/learn/courses/30/lessons/42840

패턴을 반복하면서 정답과 하나씩 대조해서 점수를 세고 그중 가장 큰 점수인 사람만 리스트에 모아서

return해주면 되는 문제.

def solution(answers):
    s1 = [1,2,3,4,5]
    s2 = [2,1,2,3,2,4,2,5]
    s3 = [3,3,1,1,2,2,4,4,5,5]
    answer = [0,0,0]
    result = []


    for a, i in zip(answers, range(len(answers))):
        if a == s1[i%len(s1)]:
            answer[0] += 1
        if a == s2[i%len(s2)]:
            answer[1] += 1
        if a == s3[i%len(s3)]:
            answer[2] += 1

    max_score = max(answer)
    for a,i in zip(answer,range(len(answer))):
        if a == max_score:
            result.append(i+1)

    return result

풀고나서 다른분들이 푼걸보니 인덱스와 값을 동시에 받을수있는 함수가 있었다.

for idx, value in enumrate(answers):

이런식으로 더 간단하게 표현할수있겠다