코딩 테스트/프로그래머스

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

  • -
728x90
반응형

문제 보기 :  로또의 최고 순위와 최저 순위

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제

  • 정답률 : 59%


작성 코드

def solution(lottos, win_nums):
    rank = {0:6, 1:6, 2:5, 3:4, 4:3, 5:2, 6:1} #당첨 갯수 : 순위
    
    num_0 = lottos.count(0)
    answer1 = len(set(lottos)&set(win_nums)) #최소 갯수 일치
    answer2 = answer1+num_0 #최대 갯수 일치
    
    answer = [rank[answer2],rank[answer1]]
    return answer

풀이

당첨 갯수에 따른 순위를 담은 딕셔너리를 정의한 다음, 무슨 숫자로 입력되어있는지 모르는 0을 count해둔다.
(만약 로또가 6개를 고르는게 아니였다면, count를 쓰면 안될 것 같다.)

그리고 intersection으로 맞춘 로또 갯수를 구해서 최소 등수를 구하고, 0인 값들도 모두 맞췄다고 가정했을 때의 최고 등수를 구한다.

이를 answer로 저장해서 출력한다.

320x100
728x90

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

Lv1. 숫자 짝꿍  (0) 2024.09.28
Lv3. 숫자 게임  (0) 2024.09.26
Lv3. 등굣길  (0) 2024.09.24
Lv2. [3차] 파일명 정렬  (0) 2024.09.24
Lv2. 오픈채팅방  (0) 2024.09.24
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.