일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- itertools
- mysql
- CodingTest
- 코딩
- 시간복잡도
- coding
- 조합
- 파이썬
- import re
- lambda
- Level2
- join
- programmers
- lv4
- 프로그래머스
- 연습문제
- 코딩테스트
- Stack
- Queue
- collections
- level4
- counter
- 데이터분석
- coding test
- 코테
- python
- sql
- 완전탐색
- BFS
- time complexity
- Today
- Total
ror_coding
[Programmers] 모의고사 - 42840 본문
728x90
cycle() 함수를 사용해서 세 명을 각각 한 문제씩 확인하여 score에 + 연산 수행!
cycle 처음 본다 ㄷㄷ
Question
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다.
1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작
Point
- index 에서 % 를 이용하여 cycle처럼 작동 : Code 1
- Cycle() 함수 사용 : Code 2
Code 1 : my code
def solution(answers):
persons = [[1, 2, 3, 4, 5],[2, 1, 2, 3, 2, 4, 2, 5],[3, 3, 1, 1, 2, 2, 4, 4, 5, 5]]
scores = []
for p in persons :
cnt = 0
for idx, i in enumerate(answers):
if p[idx%len(p)]==i : cnt += 1
scores.append(cnt)
return [idx+1 for idx,s in enumerate(scores) if s==max(scores)]
Code 2 : cycle()
from itertools import cycle
def solution(answers):
giveups = [
cycle([1,2,3,4,5]),
cycle([2,1,2,3,2,4,2,5]),
cycle([3,3,1,1,2,2,4,4,5,5]),
]
scores = [0, 0, 0]
for num in answers:
for i in range(3):
if next(giveups[i]) == num:
scores[i] += 1
highest = max(scores)
return [i + 1 for i, v in enumerate(scores) if v == highest]
![](https://t1.daumcdn.net/keditor/emoticon/face/large/012.png)
now me
On my github
728x90
'Algorithm > Python' 카테고리의 다른 글
[Programmers] 소수 찾기 - 12921 (0) | 2024.10.12 |
---|---|
[Programmers] 소수 만들기 - 12977 (1) | 2024.10.12 |
[Programmers] [1차] 비밀지도 - 17681 (0) | 2024.10.12 |
[Programmers] 가장 가까운 같은 글자 - 142086 (0) | 2024.10.12 |
[Programmers] 기사단원의 무기 - 136798 (0) | 2024.10.12 |