Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자료구조
- center loss
- 프로그래머스
- 알고리즘
- Threshold
- 3D
- cv2
- OpenCV
- flame
- 논문 구현
- reconstruction
- 큐
- Object Tracking
- NLP
- point cloud
- Deeplearning
- level2
- Computer Vision
- 딥러닝
- Python
- attention
- deep learning
- re-identification
- 임계처리
- Knowledge Distillation
- 파이썬
- numpy
- Object Detection
- transformer
- 스택
Archives
- Today
- Total
공돌이 공룡의 서재
[프로그래머스 Level 1] 모의고사 / 완전탐색 / 파이썬 본문
<문제>
<풀이>
def solution(answers):
solver = [0, 0, 0]
s1 = [1, 2, 3, 4, 5]
s2 = [2, 1, 2, 3, 2, 4, 2, 5]
s3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
for i in range(len(answers)):
if answers[i] == s1[i % len(s1)]:
solver[0] += 1
if answers[i] == s2[i % len(s2)]:
solver[1] += 1
if answers[i] == s3[i % len(s3)]:
solver[2] += 1
answer = []
for i in range(len(solver)):
if solver[i] == max(solver):
answer.append(i + 1)
return answer
코드 설명:
유형이 완전탐색인 이유는 정답이 들은 배열 answers의 모든 값들을 탐색해야하기 때문이다. 구조적인 문제보다는 문제 조건만 잘 생각하면 풀 수 있는 문제다. 각 수포자들이 답을 찍는 번호 패턴이 담긴 배열들을 만든 다음에 이를 answers 배열과 비교하는데, 번호 패턴이 계속 반복되므로 나머지 값 % 연산으로 index값을 정했다. k번째 수포자의 답과 정답지와 같으면 solver의 k-1번째 값을 1씩 올리고 이후 가장 큰 값이 몇번째에 있는지 찾는다.
'코딩 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 Level 1] 문자열 내 마음대로 정렬하기 / 연습문제 / 파이썬 (0) | 2020.08.16 |
---|---|
[프로그래머스 Level 1] 같은 숫자는 싫어 / 연습문제 / 파이썬 (0) | 2020.08.16 |
[프로그래머스 Level 1] K번째수 / 정렬 / 파이썬 (0) | 2020.07.15 |
[프로그래머스 Level 1] 체육복 / 탐욕법 / 파이썬 (0) | 2020.07.09 |
[프로그래머스 Level 1] 완주하지 못한 선수 / 해시 / 파이썬 (0) | 2020.07.04 |
Comments