programmers Level1(1)

Q: 로또 번호 6자리 중 일부분이 0(알아볼수 없는 값)으로 입력되어 있다. 0에 따라 가능한 최고 등수, 최저 등수를 return 하라

나의 답안

def solution(lottos, win_nums):
    answer = []
    collect_num = []
    wrong_num = []
    zeros = []
    
    for i in lottos:
        if i == 0:
            zeros.append(i)        
        elif i in win_nums:
            collect_num.append(i)
        else:
            wrong_num.append(i)
    
    n = len(collect_num) 
    m = len(wrong_num) 
    zeros = 6-m-n
    
    if n == 6:
        answer.extend([1,1])
    elif n == 0:
        if zeros != 0:
            answer.extend([7-zeros,6])
        else:
            answer.extend([6,6])
    else:
        answer.extend([7-n-zeros,7-n])
    return answer

최고 답안

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]

좋은 웹페이지 즐겨찾기