2021 Dev-Matching: 웹 백엔드 개발자(상반기) : 로또의 최고 순위와 최저 순위 - python3 풀이
문제 보러 가기 👈 클릭!
💡 풀이
✔ 문제 파악
- 알아볼 수 없는 숫자는 0 으로 표시 된 길이가 6인 숫자배열(lottos), 길이가 6인 로또당첨번호(win_nums)가 주어졌을때, 당첨 가능한 [최고 순위, 최저 순위]을 return하는 문제
✔ 풀이 방법
-
당첨 가능한 최고 순위
= 알아볼 수 없는 숫자 모두 로또당첨번호와 일치한다고 가정
= lottos중 win_num과 일치하는 숫자의 개수 + lottos중 0의 개수 -
당첨 가능한 최저 순위
= 알아볼 수 없는 숫자 모두 로또당첨번호와 일치하지 않는다고 가정
= lottos중 win_num과 일치하는 숫자의 개수 -
순위를 매기는 방법
lottos중 로또당첨번호와 일치하는 개수가 0,1,2,3,4,5,6개 일때 순위는 6등,6등,5등,4등,3등,2등,1등 입니다. 일치하는 개수를 인덱스, 순위를 값으로 갖는 리스트를 선언합니다.
ex) rank = [6, 6, 5, 4, 3, 2, 1]
💡 전체 소스 코드
def solution(lottos, win_nums):
rank = [6, 6, 5, 4, 3, 2, 1] # rank[일치하는 번호 개수] = 순위
win_cnt = 0 #일치하는 번호 개수
zero_cnt = 0 #알아볼 수 없는 번호 개수
for num in lottos:
if num in win_nums:
win_cnt += 1
elif num == 0:
zero_cnt += 1
answer = [rank[win_cnt + zero_cnt], rank[win_cnt]]
return answer
Author And Source
이 문제에 관하여(2021 Dev-Matching: 웹 백엔드 개발자(상반기) : 로또의 최고 순위와 최저 순위 - python3 풀이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@himinhee/2021-Dev-Matching-웹-백엔드-개발자상반기-로또의-최고-순위와-최저-순위-python3-풀이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)