문제
요약
- 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, …
- 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, …
- 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, …
- 정답들을 담은 배열이 주어지면, 가장 많은 정답을 맞힌 사람을 배열에 담아 반환.
분류
- 완전탐색
풀이
1. 내 풀이
- 발상 : 그냥 푼다.
def solution(answers):
first_student = [1, 2, 3, 4, 5]
second_student = [2, 1, 2, 3, 2, 4, 2, 5]
third_student = [3, 1, 2, 4, 5]
scores = [0, 0, 0]
for i, answer in enumerate(answers):
if first_student[i % 5] == answer : scores[0] += 1
if second_student[i % 8] == answer : scores[1] += 1
if third_student[i % 10 // 2] == answer : scores[2] += 1
answer = []
for index, score in enumerate(scores):
if score == max(scores): answer.append(index + 1)
return answer