개발자일걸요..?

로또의 최고 순위와 최저 순위 본문

알고리즘코딩/Programmers

로또의 최고 순위와 최저 순위

Re_A 2021. 7. 24. 13:26
728x90
반응형

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

 

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

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

programmers.co.kr

(프로그래머스>코딩테스트연습>2021 Dev-Matching : 웹 백엔드 개발>로또의 최고 순위와 최저순위 )

 


 

<내가 한 코딩>

def ranking(n):
    if n==6:
        return 1
    elif n==5:
        return 2
    elif n==4:
        return 3
    elif n==3:
        return 4
    elif n==2:
        return 5
    else:
        return 6
    
def solution(lottos, win_nums):
    right = 0
    zero = 0
    for i in range(0,6):
        if(lottos[i]==0):
            zero+=1
        else:
            for j in range(0,6):
                if(lottos[i]==win_nums[j]):
                    right += 1

    answer = [ranking(right+zero), ranking(right)]
    return answer

 

 

<그 외 풀이>

def solution(lottos, win_nums):
    right = 0
    zero = lottos.count(0)
    for item in lottos:
        if(item in win_nums):
            right+=1
    ranking = [6,6,5,4,3,2,1]
    answer = [ranking[right+zero], ranking[right]]
    return answer
def solution(lottos, win_nums):
    zero = lottos.count(0)
    ranking = [6,6,5,4,3,2,1]
    answer = [ranking[(len(set(lottos)&set(win_nums)))+zero], ranking[(len(set(lottos)&set(win_nums)))]]
    return answer

 


 

<풀이 힌트>

  • 최대 정답수 : 내가 확실하게 맞은 수의 갯수 + 0으로 표기된(내가 알아볼 수 없게된) 수의 갯수
  • 최소 정답수 : 내가 확실하게 맞은 수의 갯수

 

 

 

반응형

'알고리즘코딩 > Programmers' 카테고리의 다른 글

문자열 다루기  (0) 2021.07.24
두 개 뽑아서 더하기  (0) 2021.07.24
폰켓몬  (0) 2021.07.24
숫자 문자열과 영단어  (0) 2021.07.23
신규 아이디 추천  (0) 2021.07.23
Comments