Algorithm
[프로그래머스][완전탐색] 모의고사 (211109)
lluna
2021. 11. 9. 22:44
코딩테스트 연습 - 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는
programmers.co.kr
접근방법
- 학생별로 찍는 배열을 만들어주고, 카운트 초기화한다.
- 문제를 돌면서 정답을 확인하고 맞으면 카운트를 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