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 |
Tags
- 사업계획서
- React
- API 활용 신청
- 부산 맛집 OPEN API
- 오블완
- 프로그래머스
- web-view
- Redux
- 블로그 뉴비
- 새로고침
- 보안
- Dreamhack
- 훈수 가능
- 코딩테스트
- php-1
- 고고학 최고의 발견
- 티스토리챌린지
- redux state값 유지
- react-router-dom
- 공공데이터 포털
- 개발
- 꿀팁 환영
- 드림핵
- expo
- level3
- apk 빌드
- 창업 300
- url 랜더링
- python
Archives
- Today
- Total
1223v
[Progammers] Python 프로그래머스 모의고사(42840) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
완전 탐색문제이다. 3명의 답안 패턴을 가지고, 가장 많이 맞은 사람을 찾는 로직이다.
답안의 패턴 배열을 만들고, 나머지 연산으로 값의 정답 유무를 확인하면 된다.
def solution(answers):
result = []
correct_length = len(answers)
one_ans = [1,2,3,4,5]
two_ans = [2,1,2,3,2,4,2,5]
three_ans = [3,3,1,1,2,2,4,4,5,5]
count = [0,0,0,0]
for i in range(correct_length):
if one_ans[i%5] == answers[i]:
count[1] += 1
if two_ans[i%8] == answers[i]:
count[2] += 1
if three_ans[i%10] == answers[i]:
count[3] += 1
for i in range(1,len(count)):
if count[i] == max(count):
result.append(i)
return result
회고.
처음에는 사람이 3명인줄 모르고 dfs 백트래킹으로 완탐을 돌렸는데... 역시 문제를 잘 읽어야겠다.
728x90
'PS' 카테고리의 다른 글
[BOJ] Python 백준 주사위 쌓기(2116) (1) | 2024.11.22 |
---|---|
[Progammers] Python 프로그래머스 모의고사(42840) (0) | 2024.11.18 |
[BOJ] Python 백준 강의실(1347) (0) | 2024.11.15 |
[BOJ] Python 백준 센서(2212) (1) | 2024.11.14 |
[BOJ] Python 백준 밤양갱(31926) (0) | 2024.11.13 |