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
'🔍 알고리즘 > 프로그래머스 Python' 카테고리의 다른 글
[Python] 프로그래머스 43105. 정수삼각형 (Lv.3) (0) | 2022.08.07 |
---|---|
[Python] 프로그래머스 42862. 체육복 (Lv.1) (0) | 2022.08.07 |
[Python] 프로그래머스 42748. K번째 수 (Lv.1) (0) | 2022.08.07 |
[Python] 프로그래머스 1845.폰켓몬 (Lv.1) (0) | 2022.08.07 |
[Python] 프로그래머스 42627.디스크컨트롤러 (Lv.3) (0) | 2022.08.06 |