프로그래머스

프로그래머스 모의고사 파이썬

hotchya 2021. 9. 10. 01:11

모의고사

https://programmers.co.kr/learn/courses/30/lessons/42840

문제 단순화

  • 3명의 수포자가 있다.
  • 각각 규칙적인 무한 수열을 가지고 있다.
  • answers의 요소와 비교해서 많이 맞은 사람의 번호를 리턴한다.
  • 많이 맞은 사람이 여럿일 경우, 맞은 사람의 번호를 오름차순으로 번호를 리턴한다.

문제풀이

  • 3명의 규칙을 리스트로 만든다.
  • answers의 요소와 하나씩 비교한다.
  • 맞은 갯수가 많은 사람의 번호를 저장한다.
  • 오름차순으로 정렬하여 리턴한다.

  • 맘편히 풀자

코드

def solution(answers):
    answer = []
    a = [1, 2, 3, 4, 5]*2000
    b = [2, 1, 2, 3, 2, 4, 2, 5]*1250
    c = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]*1000
    score = [0,0,0]
    for i, ans in enumerate(answers):
        if ans == a[i]:
            score[0] += 1
        if ans == b[i]:
            score[1] += 1
        if ans == c[i]:
            score[2] += 1
    for i in range(3):
        if score[i] == max(score):
            answer.append(i+1)
    return answer