Algorithm
[프로그래머스][완전탐색] 모의고사 (211109)
lluna
2021. 11. 9. 22:44
접근방법
- 학생별로 찍는 배열을 만들어주고, 카운트 초기화한다.
- 문제를 돌면서 정답을 확인하고 맞으면 카운트를 1 증가시킨다.
- 이 때, 나머지로 인덱스를 활용하는 것이 포인트이다. (문제 7번이라면 s1의 경우 6(idx) %5 =1(idx) 번째 정답 확인)
- 학생 순서별로 정답수를 넣은 배열을 돌리면서 최댓값이 나오면 결과 배열에 추가한다.
def solution(answers):
s1 = [1, 2, 3, 4, 5]
s2 = [2, 1, 2, 3, 2, 4, 2, 5]
s3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
cnt1, cnt2, cnt3 = 0, 0, 0
for i in range(len(answers)):
if s1[i % 5] == answers[i]:
cnt1 += 1
if s2[i % 8] == answers[i]:
cnt2 += 1
if s3[i % 10] == answers[i]:
cnt3 += 1
result = []
answer = [cnt1, cnt2, cnt3]
for i in range(3):
if answer[i] == max(answer):
result.append(i+1)
return result