반응형
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42840
코딩테스트 연습 - 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는
programmers.co.kr
완전 탐색에 해당하는 문제이다.
무식해보여도 가끔은 최고의 방법이라는..
문제 풀이
1. 수포자마다 패턴이 다르므로 패턴을 하드코딩으로 넣어준다.
2. 문제의 갯수마다 반복문을 돌면서 각 수포자가 맞춘 갯수를 세어준다. (문제의 갯수를 입력으로부터 알 수 있음)
3. 세 명의 수포자 중 가장 많이 맞춘 갯수를 찾는다.
4. 가장 많이 맞춘 수포자를 넣어준다. (여러명일 경우 순차적으로 넣기)
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
def solution(answers):
answer = []
student1 = [1,2,3,4,5]
student2 = [2,1,2,3,2,4,2,5]
student3 = [3,3,1,1,2,2,4,4,5,5]
cnt1, cnt2, cnt3 = 0, 0, 0
for i in range(len(answers)):
if answers[i] == student1[i%5]:
cnt1+=1
if answers[i] == student2[i%8]:
cnt2+=1
if answers[i] == student3[i%10]:
cnt3+=1
answer_temp = [cnt1, cnt2, cnt3]
for student, cnt in enumerate(answer_temp):
if cnt == max(answer_temp):
answer.append(student+1)
return answer
|
cs |
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스][2022 카카오 블라인드 테스트] 신고 결과 받기 - 파이썬 풀이 (0) | 2022.04.26 |
---|---|
[프로그래머스] 가장 큰 수(level 2) 파이썬 문제 풀이 (2) | 2021.08.27 |
[프로그래머스] 베스트앨범(level 3) Python 문제 풀이 (0) | 2021.07.30 |
[프로그래머스] K번째수(level 1) Python 문제 풀이 (0) | 2021.07.17 |
[프로그래머스] 프린터 (level 2) Python 문제 풀이 (2) | 2021.06.26 |
댓글