티스토리 뷰
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
'Algorithm > Brute Force' 카테고리의 다른 글
(Python) - BOJ(1107번) : 리모컨 (0) | 2022.01.25 |
---|---|
(Python) - BOJ(1038번) : 감소하는 수 (0) | 2022.01.25 |
(Python) - 프로그래머스 : 올바른 괄호의 개수 (0) | 2022.01.24 |
(Python) - 프로그래머스 : 카펫 (0) | 2022.01.20 |
(Python) - 프로그래머스 : 소수 찾기 (0) | 2022.01.19 |
댓글
© 2022 WonSeok, All rights reserved