PG_모의고사_Level1

이하연·2021년 4월 1일
0

2021알고리즘

목록 보기
2/32

문제 링크


1. 내 코드

# answers	return
# [1,2,3,4,5]	[1]
# [1,3,2,4,2]	[1,2,3]

from itertools import chain, repeat

def solution(answer) :
    result = [0,0,0]
    student = [[1,2,3,4,5],[2,1,2,3,2,4,2,5],[3,3,1,1,2,2,4,4,5,5]]
    compareArr = []
    Dap = []

    # 시험문제길이만큼 수포자별로 길이 늘리기 -> chain 사용
    for i in student:
        compareArr.append(list(chain.from_iterable(repeat(i,len(answer)//len(i)+1))))

    # 답 비교
    for j in range(len(compareArr)) :
        for i in range(len(answer)) :
            if answer[i] == compareArr[j][i] :
                result[j]+=1

    # 가장 많이 맞는 사람 Dap에 넣기
    for i in range(3):
        if result[i] == max(result):
            Dap.append(i + 1)


    return Dap




print(solution([1,2,3,4,5])) # 10

결과

로고

평가

  • 옛날 코드에 비해 더 시간은 빨라짐
  • 다른 방법 : cycle,zip 이용 -> 숭인 코드

git링크

0개의 댓글