Algorithm/Brute Force
(Python) - 프로그래머스 : 모의고사
하눤석
2022. 1. 18. 10:28
728x90
https://programmers.co.kr/learn/courses/30/lessons/42840
- 해설 :
수열로 이루어진 패턴 3개가 주어질 때, 각 패턴으로 시험의 문제를 찍었을 경우 어떤 패턴의 사람이 점수가 가장 높은지 맞추는 문제이다.
- 풀이 :
문제의 정답들이 담긴 배열을 미리 최대 1만개까지 구현해놓은 후 이를 주어진 문제의 수만큼 비교하여 실제 맞춘 문제의 개수를 카운팅하고 최고점수를 받을 수 있는 패턴을 모두 출력한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | def solution(answers): answer = [[0,1],[0,2],[0,3]] one = [1,2,3,4,5] * 2000 two = [2,1,2,3,2,4,2,5] * 1250 three = [3,3,1,1,2,2,4,4,5,5] * 1000 for a,b,c,ans in zip(one,two,three,answers): if a==ans: answer[0][0] += 1 if b==ans: answer[1][0] += 1 if c==ans: answer[2][0] += 1 answer = sorted(answer,reverse=True,key = lambda x : x[0]) m = answer[0][0] return [b for a,b in answer if a == m] | cs |
320x100