fromtypingimportListdefsolution(answers:List[int])->List[int]:# 세 수포자들의 정답 패턴 정의
patterns=[[1,2,3,4,5],[2,1,2,3,2,4,2,5],[3,3,1,1,2,2,4,4,5,5]]# 수포자들이 맞힌 정답의 수
scores=[0,0,0]fori,answerinenumerate(answers):forj,patterninenumerate(patterns):# 패턴이 나누어떨어지면 이 패턴에 맞는 수포자란 뜻이므로
# 그 수포자에 맞는 index(j)의 score를 1 추가
ifanswer==pattern[i%len(pattern)]:scores[j]+=1max_score=max(scores)# 1을 더해줘야 0번째가 1번째 수포자가 됨
return[i+1fori,scoreinenumerate(scores)ifscore==max_score]print(solution([1,2,3,4,5]))print(solution([1,3,2,4,2]))
Leave a comment