취준/프로그래머스
[프로그래머스 Programmers][Python] 모의고사
puff
2020. 1. 22. 12:28
문제 : https://programmers.co.kr/learn/courses/30/lessons/42840
나는 완전탐색 문제가 어렵다. 모든 완전탐색 문제가 어렵다. 그래서 쉬운 것부터 풀며 근자감을 키우고 도전했다 깨질 HP를 회복하고자 쉬운
문제를 풀어보려 한다.
이 문제는 말그대로 문제에 충실하게 노가자 코드를 짤 수 있냐를 물어본다.
나 같은 경우에는 반복되는 순열을 하드코딩했는데 확장성을 바로 씹어먹어 버린 쓰레기가 탄생했다.
- 각각의 반복되는 순열을 하드코딩한다.
- answer를 돌며 반복되는 순열과 같은 사람의 점수를 1씩 올린다.
- 가장 점수가 높은 사람을 답으로 반환하되, 그중에 중복이 있으면 같이 반환한다.
def solution(answers):
one = [1, 2, 3, 4, 5]
two = [2, 1, 2, 3, 2, 4, 2, 5]
three = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
answerman = [0,0,0]
for i in range(len(answers)):
if answers[i] == one[i%5]:
answerman[0]+=1
if answers[i] == two[i%8]:
answerman[1]+=1
if answers[i] == three[i%10]:
answerman[2]+=1
print(answerman)
maxman = max(answerman)
answer = [i+1 for i in range(3) if answerman[i]==maxman]
return answer