def solution(answers):
answer = []
stu1 = [1,2,3,4,5]
stu2 = [2,1,2,3,2,4,2,5]
stu3 = [3,3,1,1,2,2,4,4,5,5]
i = 0
cnt1 = 0
cnt2 = 0
cnt3 = 0
while i < len(answers):
for x in stu1 :
if i < len(answers) :
if answers[i] == x :
cnt1 += 1
i += 1
i = 0
while i < len(answers):
for x in stu2 :
if i < len(answers) :
if answers[i] == x :
cnt2 += 1
i += 1
i = 0
while i < len(answers):
for x in stu3 :
if i < len(answers) :
if answers[i] == x :
cnt3 += 1
i += 1
c_list = [cnt1,cnt2,cnt3]
max_v = max(c_list)
for i,v in enumerate(c_list) :
if v == max_v :
answer.append(i+1)
print(answer)
print(c_list.index(max(c_list)))
return answer
각각의 학생들의 숫자 패턴이 반복되는 것을 활용하여,
정답과 학생 패턴의 인덱스를 서로 비교해서 풀면
한번의 정답을 스캔하면서 3 학생의 정답을 모두 비교해서 풀 수 있다.
def solution(answers):
pattern1 = [1,2,3,4,5]
pattern2 = [2,1,2,3,2,4,2,5]
pattern3 = [3,3,1,1,2,2,4,4,5,5]
score = [0, 0, 0]
result = []
for idx, answer in enumerate(answers):
if answer == pattern1[idx%len(pattern1)]:
score[0] += 1
if answer == pattern2[idx%len(pattern2)]:
score[1] += 1
if answer == pattern3[idx%len(pattern3)]:
score[2] += 1
for idx, s in enumerate(score):
if s == max(score):
result.append(idx+1)
return result