반응형
https://programmers.co.kr/learn/courses/30/lessons/77484
내코드
def solution(lottos, win_nums):
answer = []
count = 0
rate = [6,6,5,4,3,2,1]
NoSee = lottos.count(0)
for i in range(len(lottos)):
if win_nums[i] in lottos:
count += 1
answer.append(rate[count + NoSee])
answer.append(rate[count])
return answer
Review
맞은 숫자만큼 당첨 등수는 고정이라서 리스트로 만들어 주고 시작을 하였다.
로또 개수만큼 for 문을 돌려 같은 수가 있는지 없는지 찾아보고, 같은 수만큼 count를 올려주었다.
그리고 0의 개수를 세서 최대 등수와 최저 등수를 answer에 append 해주고 리턴해주는 함수를 만들었다.
.
.
.
다음은 좋아요가 가장 많이 받은 풀이인데, 내 풀이와 거의 유사 한 코드였다.
def solution(lottos, win_nums):
rank=[6,6,5,4,3,2,1]
cnt_0 = lottos.count(0)
ans = 0
for x in win_nums:
if x in lottos:
ans += 1
return rank[cnt_0 + ans],rank[ans]
내 코드와 비슷하지만 훨씬 더 효율 적이게 코드를 작성 하신 것 같다.
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 성격 유형 검사하기 파이썬 (0) | 2022.08.30 |
---|---|
[프로그래머스] 숫자 문자열과 영단어 파이썬 (0) | 2022.03.24 |
[프로그래머스] 소수 만들기 파이썬 (0) | 2022.02.21 |
[프로그래머스] 약수의 개수와 덧셈 파이썬 (0) | 2022.02.17 |
[프로그래머스] 신규 아이디 추천 파이썬 (0) | 2022.02.13 |