프로그래머스 1단계 "모의고사"

sanha_OvO·2021년 6월 10일
0

Algorithm

목록 보기
46/84

문제

프로그래머스 모의고사


풀이

완전 탐색 문제.

반복에 앞서 수포자 1, 2, 3의 정답배열을 answers만큼 늘려줄 필요가 있다.
수포자의 정답 배열 * (문제 정답 수//수포자 정답 배열의 수 + 1)을 해주면 된다.
이 후 완전탐색으로 3명의 문제가 얼마나 맞았는지 확인해 주고 check배열에 각각의 정답 수를 넣어준다.

최대 정답자의 인덱스를 꺼낼 때 index()를 사용하게되면 중복되는 수를 꺼내오지 못하므로 enumerate()를 이용하여 인덱스를 꺼내주면 된다.


Python 코드

def solution(answers):
  k = len(answers)
  a = [1,2,3,4,5] * ((k//5)+1)
  b = [2,1,2,3,2,4,2,5] * ((k//8)+1)
  c = [3,3,1,1,2,2,4,4,5,5] * ((k//10)+1)
  
  check = [0, 0, 0]

  for i in range(k):
    if answers[i] == a[i]:
      check[0] += 1
    if answers[i] == b[i]:
      check[1] += 1
    if answers[i] == c[i]:
      check[2] += 1
  
  ans = list(i + 1 for i, v in enumerate(check) if v == max(check))
  return ans
profile
Web Developer / Composer

0개의 댓글