수포자가 찍는 방식에 따라 주어진 문제를 몇 문제 맞추는지 확인한 후, 가장 많이 맞춘 수포자를 출력하는 문제다.
만약 동일한 수를 맞춘 경우 수포자를 오름차순으로 출력한다.
- 수포자마다 찍는 길이가 다르므로, 문제가 들어왔을 때
%
연산을 이용해 수포자들의 답변과 문제의 정답을 비교
- 정답 수를 기록하는 배열을 선언하여, 최대값과 비교해 출력을 생산
def solution(answers):
answer = []
student_one = [1,2,3,4,5]
student_two = [2,1,2,3,2,4,2,5]
student_three = [3,3,1,1,2,2,4,4,5,5]
student_score = [0, 0, 0]
for i in range(len(answers)):
if answers[i] == student_one[i%5]:
student_score[0] += 1
if answers[i] == student_two[i%8]:
student_score[1] += 1
if answers[i] == student_three[i%10]:
student_score[2] += 1
for idx, score in enumerate(student_score):
if score == max(student_score):
answer.append(idx+1)
return answer