https://school.programmers.co.kr/learn/courses/30/lessons/42840
#level1/모의고사
def solution(answers):
answer = []
student_a=[1,2,3,4,5]*2000
student_b=[2,1,2,3,2,4,2,5]*2000
student_c=[3,3,1,1,2,2,4,4,5,5]*1000
a=0
b=0
c=0
find=0
new_answers=answers
for i in range(len(answers)):
if new_answers[i]==student_a[i]:
a+=1
if new_answers[i]==student_b[i]:
b+=1
if new_answers[i]==student_c[i]:
c+=1
abc_list=[a,b,c]
find=max(abc_list)
if a==find:
answer.append(1)
if b==find:
answer.append(2)
if c==find:
answer.append(3)
answer.sort()
return answer
print(solution([1,3,2,4,2]))
나는 위와 같이 풀었는데 아래와 같이 enumerate 함수를 사용해서 더 간단하게도 표현할 수 있다.
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]
resullt = []
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
'코테 준비 > 프로그래머스' 카테고리의 다른 글
[level 1] 크레인 인형뽑기 게임 (0) | 2023.04.24 |
---|---|
[level 1] 체육복 (0) | 2023.04.24 |
[level 1] K번째 (0) | 2023.04.24 |
[level 1] 완주하지 못한 선수 (0) | 2023.04.24 |
[level 1] [1차] 다트 게임 (0) | 2023.04.23 |