PS
[Progammers] Python 프로그래머스 모의고사(42840)
1223v
2024. 11. 16. 22:04
https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
완전 탐색문제이다. 3명의 답안 패턴을 가지고, 가장 많이 맞은 사람을 찾는 로직이다.
답안의 패턴 배열을 만들고, 나머지 연산으로 값의 정답 유무를 확인하면 된다.
def solution(answers):
result = []
correct_length = len(answers)
one_ans = [1,2,3,4,5]
two_ans = [2,1,2,3,2,4,2,5]
three_ans = [3,3,1,1,2,2,4,4,5,5]
count = [0,0,0,0]
for i in range(correct_length):
if one_ans[i%5] == answers[i]:
count[1] += 1
if two_ans[i%8] == answers[i]:
count[2] += 1
if three_ans[i%10] == answers[i]:
count[3] += 1
for i in range(1,len(count)):
if count[i] == max(count):
result.append(i)
return result
회고.
처음에는 사람이 3명인줄 모르고 dfs 백트래킹으로 완탐을 돌렸는데... 역시 문제를 잘 읽어야겠다.
728x90