Algorithm/프로그래머스

[Python] 모의고사

내영잉 2021. 4. 29. 17:23

1. 문제 📚

2. 입출력 예 📋

3. 알고리즘 ✅

  • 각자 학생이 맞춘 정답의 개수를 list를 만든다
  • 학생마다 반복되는 답의 길이가 다르므로, 정답의 길이를 나눈 나머지로 비교
  • 정답이면 각자 개수에 +1을 해준다
  • 가장 많이 맞춘 학생을 리턴하면 되므로, 가장 많이 맞춘 개수와 비교하여 같으면 answer에 넣어준다. 

4. 소스코드 💻

def solution(answers):
    st1 = [1, 2, 3, 4, 5]
    st2 = [2, 1, 2, 3, 2, 4, 2, 5]
    st3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    answer = []
    cnt = [0, 0, 0]
    for i in range(len(answers)):
       if answers[i] == st1[i%len(st1)]: cnt[0] += 1
       if answers[i] == st2[i%len(st2)]: cnt[1] += 1
       if answers[i] == st3[i%len(st3)]: cnt[2] += 1
    
    for i in range(len(cnt)):
        if max(cnt) == cnt[i]:
            answer.append(i+1)

    return answer