일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- kakao
- skip-gram
- PPMI
- algorithm
- MySQL
- Numpy
- 신경망
- FullyConnectedLayer
- SQL
- Heap
- 파이썬
- dl
- Word2vec
- Programmers
- backward
- 자연어처리
- Python
- sort
- que
- boj
- Stack
- 프로그래머스
- DeepLearning
- Sigmoid
- 딥러닝
- select
- hash
- stak
- affine
- CBOW
Archives
- Today
- Total
혜온의 이것저것
[코딩테스트 고득점 Kit ] 완전탐색 모의고사 - Python 본문
[문제 이해 및 풀이]
먼저 주어진 찍는 방식에서 반복되는 규칙을 찾아 lst에 저장해둔다. 이 리스트들은 어떤 답이 주어지더라도 같은 결과이고, anwers의 경우만 길이와 내용이 달라지므로 answers를 기준으로 for문을 돌렸다.
lst의 길이가 각자 다르고, answers의 길이와도 다르기 때문에 맞는지 비교하기 위해서 i%len(lst)를 사용하여 idx가 반복되도록 설정해주었다.
가장 많이 맞춘 사람의 번호를 return해줘야 하기 때문에 max를 사용해서 맞춘 개수의 최대값을 뽑아주고, 그 최대값과 같은 값을 가지고 있는 번호를 answer 리스트에 append해줬다. 이때 enumerate를 사용하여주었다.
[나의 코드]
def solution(answers):
answer=[]
lst1=[1,2,3,4,5]
lst2=[2,1,2,3,2,4,2,5]
lst3=[3,3,1,1,2,2,4,4,5,5]
cnt1=0;cnt2=0;cnt3=0
for i in range(len(answers)):
if answers[i]==lst1[i%len(lst1)]:
cnt1+=1
if answers[i]==lst2[i%len(lst2)]:
cnt2+=1
if answers[i]==lst3[i%len(lst3)]:
cnt3+=1
cnt_lst=[cnt1,cnt2,cnt3]
for idx, cnt in enumerate(cnt_lst):
if cnt==max(cnt_lst):
answer.append(idx+1)
return answer
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42840
코딩테스트 연습 - 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는
programmers.co.kr
'Algorithm > Programmers' 카테고리의 다른 글
[20018 KAKAO RECRUITMENT] 프렌즈4블록 - Python (0) | 2022.01.07 |
---|---|
[2018 KAKAO BLIND RECRUITMENT] 다트 게임 - Python (0) | 2021.12.29 |
[코딩테스트 고득점 KIT] 정렬 H-index - Python (0) | 2021.09.29 |
[코딩테스트 고득점 KIT] 정렬 가장 큰 수 - Python (0) | 2021.09.28 |
[코딩테스트 고득점 Kit] 정렬 K번째 수 - Python (0) | 2021.09.27 |
Comments