Algorithm/1일 1코테
[🥰프로그래머스] 로또의 최고 순위와 최저 순위
대인보우
2022. 2. 3. 17:36
반응형
로또의 최고순위와 최저순위
https://programmers.co.kr/learn/courses/30/lessons/77484
내 풀이
def solution(lottos, win_nums):
_zero = lottos.count(0) # 0의 갯수
_coincide = 0 # 일치하는 숫자 갯수
rank = [0,6,5,4,3,2,1] # 로또 순위 -> 6개(index) 다 맞으면 1,,,
# 일치하는 갯수 세기
for number in lottos:
if number in win_nums:
_coincide += 1
if _coincide == 6: # 모두 일치할 경우
return [1,1]
elif _coincide == 0 and _zero == 6: # 일치하는게 0인데 0가 6개 -> 1등도 가능
return [1,6]
elif _coincide == 0 and _zero == 0: # 일치하는게 0인데 0로 6개 -> 걍 꼴등
return [6,6]
else: # 나머지는 0(가능성)+일치 갯수, 일치 갯수
return [rank[_zero+_coincide], rank[_coincide]]
다른 사람 풀이
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]
rank의 index 0 값만 6으로 바꿔주니 if문 다 지워도 가능했다~~!!!!ㅠㅠ
반응형