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
- 브루트포스
- 삼중for문 탈출
- 이진탐색
- IH
- 재귀
- bfs
- 파이썬
- %H
- 약수구하기
- 슬라이싱
- 딕셔너리
- not null
- 구현
- Deque
- set
- 완전이진트리
- dfs
- 백준
- 복사
- 제곱근
- date_format
- issubset
- heapq
- Inner Join
- 우선순위큐
- 스택
- 최대재귀높이
- 파일명 변경
- 오픽독학
- 오픽
Archives
- Today
- Total
나예
[프로그래머스] 모의고사 (완전탐색) 본문
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/42840
2. 풀이
다른 사람들 코드랑 점수 계산 부분은 비슷하다
다른 점은 최대 점수인 사람을 구하는 부분이 조금 다르다
나는 sum이라는 점수 관리 리스트에서 최대인 것을 미리 구하고 1,2,3번 사람들의 값을 하나하나 보면서 그 값과 같은 사람을 answer에 추가했다
다른 사람은 enumarate 내장함수를 이용해 인덱스와 값을 한번에 구할 수 있게 하였다. 이걸 사용하면 따로 m=max(num) 부분없이도 구할 수 있어서 더 간단한 것 같다.
나중에 함 써봐야겠다
3. 코드
def solution(answers):
answer = []
p1=[1,2,3,4,5] #5
p2=[2,1,2,3,2,4,2,5] #8
p3=[3,3,1,1,2,2,4,4,5,5] #10
sum=[0,0,0,0]
for i in range(len(answers)):
if answers[i] == p1[i%5]:
sum[1] +=1
if answers[i] == p2[i%8]:
sum[2] +=1
if answers[i] == p3[i%10]:
sum[3] +=1
m = max(sum)
for i in range(1,4):
if sum[i] == m:
answer.append(i)
return answer
728x90