https://programmers.co.kr/learn/courses/30/lessons/77484

 

코딩테스트 연습 - 로또의 최고 순위와 최저 순위

로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호

programmers.co.kr

 


 

1.

def solution(lottos, win_nums):
    answer = []
    count=0

 

    for i in win_nums:
        if i in lottos:
           count+=1
  maxi = count + lottos.count(0)
    mini = count
   
    if maxi ==6:
        prize=1
    elif maxi ==5:
        prize=2
    elif maxi ==4:
        prize=3
    elif maxi==3:
        prize=4
    elif maxi==2:
        prize=5
    else:
        prize=6
    print(prize)
    answer.append(prize)
    print(answer)
    if mini >=6:
        prize=1
    elif mini ==5:
        prize=2
    elif mini ==4:
        prize=3
    elif mini==3:
        prize=4
    elif mini==2:
        prize=5
    else:
        prize=6
       
    answer.append(prize)
 return answer
 
   
   
2.
 


def solution(lottos,win_nums):
   
   
    rank = [6,6,5,4,3,2,1]
    ans = 0
    count_0=lottos.count(0)
    for i in win_nums:
        if i in lottos:
            ans+=1
           
    return rank[count_0+ans],rank[ans]

직관적으로 두개 정도 떠오를꺼 같다.

1) 쉬운 방법인 if else

2) 파이썬스러운 코드 작성.

 


누가 더 나은 방법인지는 굳이 얘기안해줘도 다들 알거 같다.

+ Recent posts