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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

완전탐색(브루트포스)유형의 연습 문제입니다. 

찍는 방식을 매칭하는 방법은 여러개가 있을텐데 이번 문제에선 간단한 형태여서 List로 하드코딩하고, 그 길이로 index를 나눠서 맞추는 식으로 구현했습니다.

 

최고점수를 받은 수험자들을 출력하는 부분은 어차피 정렬되어 있으므로 정렬은 신경쓰지 않고, max 함수로 간단하게 최고 점수를 구한다음 그 최고점수와 같은 점수를 가진 수험자들을 넣어주는 식으로 풀이했습니다.

 

def solution(answers):
    pick = [[1, 2, 3, 4, 5], [2, 1, 2, 3, 2, 4, 2, 5], [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]]
    grade = [0, 0, 0]
    answer = []

    for i in range(len(answers)):
        if answers[i] == pick[0][i % 5]:
            grade[0] += 1
        if answers[i] == pick[1][i % 8]:
            grade[1] += 1
        if answers[i] == pick[2][i % 10]:
            grade[2] += 1

    max_grade = max(grade[0], max(grade[1], grade[2]))

    for i in range(3):
        if grade[i] == max_grade:
            answer.append(i + 1)

    return answer

 

728x90

+ Recent posts