코딩테스트 연습 2021 Dev-Matching: 웹 백엔드 개발자(상반기) 로또의 최고 순위와 최저 순위 with python

j_wisdom_h·2022년 5월 28일
0

CodingTest

목록 보기
1/58


6개의 번호가 모두 일치하면 1순위, 5개 일치 : 2순위 .. 1개 이하 일치 : 6순위

알아볼 수 없는 번호(unknown) : 0
위의 예제에서 최고순위는 unknown이 win_nums에 모두 있을 경우 4개번호일치(3등)이고, 최저순위는 unknown이 win_nums에 모두 없을 경우 2개 번호 일치(5등)



구매(lottos) = len : 6, 0~45, 중복x
당첨(win_nums) = len : 6, 1~45, 중복x

return [최고순위,최저순위]

solution

def solution(lottos, win_nums):    
    answer = []
    rank = {6:1,5:2,4:3,3:4,2:5,1:6,0:6}
    unknown = lottos.count(0)
    count = 0
    for i in lottos:
        if i in win_nums:
            count += 1

    max_correct = count + unknown
    min_correct = count

    answer.append(rank[max_correct])    
    answer.append(rank[min_correct])

    # return [최고순위,최저순위]
   
    return answer

improve

def solution(lottos, win_nums):
    answer = []
    rank = [6,6,5,4,3,2,1]
    unknown = lottos.count(0)
    count = 0
    for i in lottos:
        if i in win_nums:
            count += 1
       
    # return [최고순위,최저순위]

    return [rank[unknown + count], rank[count]]
profile
뚜잇뚜잇 FE개발자

0개의 댓글