728x90
*문제 출처는 프로그래머스에 있습니다.
문제 제목: 로또의 최고 순위와 최저 순위
문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/77484
나의 풀이
def solution(lottos, win_nums):
cnt = [0,0]
num = []
zero_cnt = 0
for i in lottos:
if i in win_nums:
num.append(i)
if i == 0 :
zero_cnt += 1
if len(num) == 0 :
cnt[1] = 6
elif len(num) == 1:
cnt[1] = 6
elif len(num) == 2:
cnt[1] = 5
elif len(num) == 3:
cnt[1] = 4
elif len(num) == 4:
cnt[1] = 3
elif len(num) == 5:
cnt[1] = 2
elif len(num) == 6:
cnt[1] = 1
if zero_cnt == 6 and len(num) == 0:
cnt[0] = 1
cnt[1] = 6
else:
cnt[0] = cnt[1] - zero_cnt
return cnt
갑자기 머리가 멍청해져서 if문 밖에 생각 안났음..
모범답안
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]
등수가 적힌 리스트를 만들어주고 인덱스를 활용함
728x90
'coding test - python > Programmers' 카테고리의 다른 글
Programmers / 최솟값 만들기 / Python (0) | 2022.04.12 |
---|---|
Programmers / *[1차] 다트게임 / Python (0) | 2022.04.08 |
Programmers / 숫자 문자열과 영단어 / Python (0) | 2022.04.08 |
Programmers / 완주하지 못한선수 / Python (0) | 2022.04.07 |
Programmers / 부족한 금액 계산하기 / Python (0) | 2022.04.07 |