DataScience trainee

Programmers - 모의고사

모의고사


개요

  • 이번 포스팅은 파이썬 코딩테스트 연습문제 풀이입니다.
  • Programmers 에 공개된 예제이며 링크는 아래와 같습니다.

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


코드

def solution(answers):
    a = [(x%5)+1 for x in range(0, 10000)]
    b = []
    for i in range(0, 5000):
        temp = [1, 3, 4, 5]
        b += [2, temp[i%4]]
    c = []
    for i in range(0, 5000):
        temp = [3, 1, 2, 4, 5]
        c += [temp[i%5], temp[i%5]]
    
    a_score = 0
    b_score = 0
    c_score = 0
    for idx, ans in enumerate(answers):
        if a[idx] == ans:
            a_score += 1
        if b[idx] == ans:
            b_score += 1
        if c[idx] == ans:
            c_score += 1
    score = [a_score, b_score, c_score]
    max_score = max(score)

    answer = []
    if max_score == a_score:
        answer.append(1)
    if max_score == b_score:
        answer.append(2)
    if max_score == c_score:
        answer.append(3)
        
    return answer

마치며

이번 포스팅은 Programmers에 존재하는 파이썬 코딩테스트 완전탐색 예제 중 레벨 1에 해당하는 문제입니다.