728x90
https://programmers.co.kr/learn/courses/30/lessons/42840
코드 :
def solution(answers):
answer = []
supo1 = [1,2,3,4,5]
supo2 = [2,1,2,3,2,4,2,5]
supo3 = [3,3,1,1,2,2,4,4,5,5]
cnt = [0,0,0]
for i in range(len(answers)) :
if answers[i] == supo1[i%5] :
cnt[0] +=1
if answers[i] == supo2[i%8] :
cnt[1] += 1
if answers[i] == supo3[i%10] :
cnt[2] +=1
max_cnt = max(cnt)
for i in range(3) :
if max_cnt == cnt[i] :
answer.append(i+1)
return answer
수포자들의 반복된 패턴을 미리 저장해놓는다.
그후 answers를 돌면서 각 수포자들이 맞은 수를 cnt 리스트에 저장한다.
최댓값을 저장하고 최댓값을 가진 수포자의 번호를 answer에 append한다.
참고 블로그 :
https://greedysiru.tistory.com/375
반응형
'알고리즘 > 프로그래머스문제풀이' 카테고리의 다른 글
[Python/프로그래머스]순위_그래프 (0) | 2022.06.19 |
---|---|
[Python/프로그래머스] 소수 찾기_완탐 (0) | 2022.06.19 |
[Python/프로그래머스]단속 카메라_Greedy(그리디) (0) | 2022.06.19 |
[Python/프로그래머스]섬 연결하기_Greedy(그리디) (0) | 2022.06.19 |
[Python/프로그래머스]구명보트_Greedy(그리디) (0) | 2022.06.19 |