로또 최고, 최저 순위 찾기
문제소개
로또의 최고 순위와 최저 순위
- 민우의 로또에 동생이 낙서를 해 알 수 없는 번호가 있다.
- 알 수 없는 번호를 0으로 표기한다고 할때,
- 가능했던 최고 순위와 최저순위를 출력하는 프로그램을 작성하시오.
- 순서와 상관없이 일치하는 번호가 있으면 맞힌 걸로 인정된다.
순위)
6개 모두 일치 1등, 5개 일치 2등 ... 2개 일치 5등, 그 외는 꽝
입력)
lottos = [44, 1, 0, 0, 31, 25]
win_nums = [31, 10, 45, 1, 6, 19]
출력)
result = [3, 5]
풀이접근
1. set 자료형끼리의 and 연산 --> # 두개의 로또에서 중복되는 값
2. 입력받은 리프노드 값을 트리에 대입
2. 부모노드(i//2)에 자식노드의 값을 더함
코드
def solution(lottos, win_nums):
cnt = len(set(lottos) & set(win_nums)) # 로또 맞힌 숫자 갯수
cnt_0 = lottos.count(0) # 로또에서 낙서로 지워진 부분
# 0을 다 맞다고 봤을 때와 아닐때 값 구하기
return [7-max(cnt+cnt_0,1), 7-max(cnt,1)]
정의된 변수 값 확인
lottos = [44, 1, 0, 0, 31, 25]
win_nums = [31, 10, 45, 1, 6, 19]
set_and = set(lottos) & set(win_nums)
set_and
{1, 31}
Author And Source
이 문제에 관하여(로또 최고, 최저 순위 찾기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wltn39/로또-최고-최저-순위-찾기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)