728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42840
# 접근 방법
1. 각 수포자의 정답 반복문을 리스트로 만든 후 answers 배열을 for문 통해 순회
2. 각 수포자의 길이의 나머지로 반환하게 되면 12345 12345와 같이 반복할 수 있다.
3. 답안지와 숫자가 일치하는 경우만 1씩 카운트 해주며 각자 맞춘 개수 기록
4. 제일 많이 맞춘 사람 도출 !!
def solution(answers):
answer = []
person = [0] * 3 # 3명의 수포자가 맞춘 개수를 넣을 리스트
person_1 = [1, 2, 3, 4, 5] # 1번 수포자의 답
person_2 = [2, 1, 2, 3, 2, 4, 2, 5] # 2번 수포자의 답
person_3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] # 3번 수포자의 답
# 맞춘 개수를 확인
for i in range(len(answers)):
# 1번 수포자는 5개의 답이 반복되므로 [i%5] 해줌
if answers[i] == person_1[i%5]:
person[0] += 1
# 2번 수포자는 8개의 답이 반복되므로 [i%8] 해줌
if answers[i] == person_2[i%8]:
person[1] += 1
# 3번 수포자는 10개의 답이 반복되므로 [i%10] 해줌
if answers[i] == person_3[i%10]:
person[2] += 1
genius = max(person) # 가장 많이 맞춘 사람의 개수
# 가장 많이 맞춘 사람
for i in range(len(person)):
if person[i] == genius:
answer.append(i+1)
return answer
728x90
'ALGORITHM > Brute Force' 카테고리의 다른 글
[백준18111번] 파이썬 - 마인크래프트 (0) | 2022.09.18 |
---|---|
[SWEA 1258] 파이썬 - 행렬찾기 (0) | 2022.08.28 |
[백준 2034번] 파이썬-창고 다각형 (0) | 2022.08.26 |
[백준 7568_덩치] 파이썬 풀이 (0) | 2022.08.17 |
[백준 1057] 파이썬_토너먼트 (0) | 2022.08.09 |