def solution(answers):
answer = []
pattern = [
[1, 2, 3, 4, 5],
[2, 1, 2, 3, 2, 4, 2, 5],
[3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
]
for value in pattern:
count = 0
j = 0
for i in range(len(answers)):
if value[j] == answers[i]:
count+=1
j += 1
if j > len(value)-1:
j = 0
answer.append(count)
return [i+1 for i, an in enumerate(answer) if max(answer) == an]
패턴의 길이보다 문제의 길이가 더 길 경우 인덱스를 0으로 재조정하는 구문을 if문으로 처리하였다. 그러나 문제의 길이만큼 패턴을 반복해야한다는 점을 이용하여 value[i % len(value)]
처럼 풀어도 깔끔한 것 같다. (길이에 따라 인덱스가 조정하여 i, j 두개로 나눈 인덱스를 하나만 써도 됨)
for value in pattern:
count = 0
for i in range(len(answers)):
if value[i % len(value)] = answer[i]:
count += 1