프로그래머스
프로그래머스 로또의 최고 순위와 최저 순위 파이썬
띵지니어
2021. 8. 9. 13:13
반응형
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]
내 코드와 비슷하지만 훨씬 더 효율 적이게 코드를 작성 하신 것 같다.
반응형