내 코드
def solution(answers):
answer = []
a = [1,2,3,4,5]
b = [2,1,2,3,2,4,2,5]
c = [3,3,1,1,2,2,4,4,5,5]
sol = [0,0,0]
for i in range(len(answers)):
if a[i%len(a)] == answers[i]:
sol[0]+=1
if b[i%len(b)] == answers[i]:
sol[1]+=1
if c[i%len(c)] == answers[i]:
sol[2]+=1
for i in range(3):
if max(sol)==sol[i]:
answer.append(i+1)
return answer
정답 갯수를 sol 리스트에 더해준 후 max를 구한다.
다른사람 코드
def solution(answers):
pattern1 = [1,2,3,4,5]
pattern2 = [2,1,2,3,2,4,2,5]
pattern3 = [3,3,1,1,2,2,4,4,5,5]
score = [0, 0, 0]
result = []
for idx, answer in enumerate(answers):
if answer == pattern1[idx%len(pattern1)]:
score[0] += 1
if answer == pattern2[idx%len(pattern2)]:
score[1] += 1
if answer == pattern3[idx%len(pattern3)]:
score[2] += 1
for idx, s in enumerate(score):
if s == max(score):
result.append(idx+1)
return result
비슷한데 for문에 enumerate를 사용하였다. enumerate사용하는 연습을 많이해야겠다!
'코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] 가장 큰 수 (0) | 2021.09.04 |
---|---|
[프로그래머스] 카펫 (0) | 2021.09.03 |
[프로그래머스] 위클리 챌린지 2주차 상호평가 작성중 (0) | 2021.08.24 |
[프로그래머스] H-Index 작성중 (0) | 2021.08.19 |
[프로그래머스] 실패율 (0) | 2021.08.11 |