- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42840

 

Level1 이고, 스스로 푼 문제다!

1,2,3번 수포자가 있고 이들이 수학 모의고사에서 답을 찍는 패턴을 one, two, three 리스트에 저장한 다음에 

각 리스트 별로 몇 문제를 맞혔는지 socre()함수로 진행하고 final 리스트 각 원소에 누적한다 

final은 전역 변수로 score() 함수에서도 사용할 수 있게 했다

 

가장 많은 문제를 맞힌 사람을 answer에 추가하는 건데 

처음에는 한 문제 이상 맞힌 사람을 넣다보니 틀렸었다 

주어진 조건대로 다시 작성하니 정답이 떴다 (언제나 그렇듯이 문제를 꼼꼼히 읽자 제발!!)

 

 - 정답 풀이 :

def score(arr, answers, x):
    i = 0
    for ans in answers:
        if i == len(arr):
            i = 0
        if ans == arr[i]:
            final[x] += 1
        i += 1
        
final = [0,0,0]                        
def solution(answers):
    answer = []
    global final
    one = [1,2,3,4,5]
    two = [2,1,2,3,2,4,2,5]
    three = [3,3,1,1,2,2,4,4,5,5]
    
    score(one, answers, 0)
    score(two, answers, 1)
    score(three, answers, 2)
               
    for i in range(1,4):
        if final[i - 1] == max(final):
            answer.append(i)
    answer.sort()
    
    return answer

 

+ Recent posts