문제 링크 (Level 1)
https://programmers.co.kr/learn/courses/30/lessons/42840
나의 코드 (python)
def solution(answers):
answer = []
# 수포자의 정답 패턴
p1 = [1, 2, 3, 4, 5]
p2 = [2, 1, 2, 3, 2, 4, 2, 5]
p3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
# 맞춘 문제 카운팅 할 변수
cnt1 = 0
cnt2 = 0
cnt3 = 0
# 정답과 찍는게 같으면 카운팅
for i in range(len(answers)):
# 정답 패턴이 반복하는 크기
a = i % 5
b = i % 8
c = i % 10
# 정답 확인
if p1[a] == answers[i]:
cnt1 += 1
if p2[b] == answers[i]:
cnt2 += 1
if p3[c] == answers[i]:
cnt3 += 1
# 정답의 개수가 가장 큰 수포자를 answer에 입력
if cnt1 == max(cnt1, cnt2, cnt3):
answer.append(1)
if cnt2 == max(cnt1, cnt2, cnt3):
answer.append(2)
if cnt3 == max(cnt1, cnt2, cnt3):
answer.append(3)
return answer
이 문제는 수포자들의 정답 패턴이 있습니다. 그 패턴의 배열을 만들어두고 문제의 정답을 받으면서 패턴과 비교하는 로직을 만들어야 합니다.
마지막으로 정답의 개수가 가장 큰 수포자를 찾아서 answer에 정답자를 넣습니다.
'코딩공부 > 프로그래머스 (python)' 카테고리의 다른 글
[프로그래머스] 숫자 문자열과 영단어 (python) (0) | 2021.07.29 |
---|---|
[프로그래머스] 폰켓몬 (python) (0) | 2021.07.27 |
[프로그래머스] 키패드 누르기 (python) (0) | 2021.07.26 |
[프로그래머스] 완주하지 못한 선수 (python) (0) | 2021.07.16 |
[프로그래머스] 소수 만들기 (python) (0) | 2021.07.16 |
댓글