글 작성자: 택시 운전사
반응형

👩‍🏫 모의고사 문제 풀어보기

😃 나의 코드

def solution(answers):
    peoplePatternArray = [[1,2,3,4,5], [2,1,2,3,2,4,2,5], [3,3,1,1,2,2,4,4,5,5]]
    scoreArray = [0,0,0]
    result = []
    for idx, answer in enumerate(answers):
        for i in range(0,len(peoplePatternArray)):
            if answer == peoplePatternArray[i][idx%len(peoplePatternArray[i])]:
                scoreArray[i] += 1

    for idx, s in enumerate(scoreArray):
        if s == max(scoreArray):
            result.append(idx+1)

    return result

완전 탐색Exhaustive Search를 이용하여 푸는 문제입니다. 우선 수포자 1, 2, 3의 문제 풀이 방식이 정해져있으니 이를 배열로 선언해줍니다. 그리고 각각의 초기 점수를 초기화해주고, 문제 1번부터 마지막까지 학생들의 답과 대조해가면서 각각 점수를 더해나갑니다. 이제 각 수포자별 점수가 나왔으니, 가장 높은 사람 혹은 높은 사람들을 반환하여 문제를 마무리합니다.

Written with StackEdit.

반응형