문제
순서에 상관없이 구매한 로또에 당첨 번호와 일치하는 번호가 있으면 맞힌 걸로 인정
민우가 구매한 로또 번호를 담은 배열 lottos, 당첨 번호를 담은 배열 win_nums가 매개변수
코드
def solution(lottos, win_nums):
answer = [0,0]
count = 0
ans_cnt = 0
rank=[6,6,5,4,3,2,1]
for i in lottos:
if i==0:
count+=1
if i in win_nums:
ans_cnt+=1
result=count+ans_cnt
answer[0]=rank[result]
answer[1]=rank[ans_cnt]
return answer
#print(solution([44, 1, 0, 0, 31, 25],[31, 10, 45, 1, 6, 19]))
풀이법
rank에 로또 순위를 담는 배열을 만들어서 초기화 한다.
lottos만큼 반복문 돌면서 만약 민우가 구매한 로또 번호 중에 0이 있으면 count 증가시킨다.
그리고 민우가 구매한 로또 번호랑 당첨 번호가 같을 때는 ans_cnt를 증가시킨다.
여기서 가장 최저 순위는 민우가 구매한 로또 번호 0이 전부 당첨 번호가 아닐 경우이다. 그러므로 최저 순위를 출력하는 answer[1] 자리에 ans_cnt 만큼의 순위로 바꿔주면 된다.
그리고 가장 최고 순위는 민우가 구매한 로또 번호 0이 전부 당첨 번호일 경우이다. 그러므로 최고 순위를 출력하는 answer[0] 자리에 ans_cnt와 0 갯수만큼을 더한 값 만큼의 순위로 바꿔주면 된다.
.
'알고리즘' 카테고리의 다른 글
프로그래머스-폰켓몬 (0) | 2022.05.26 |
---|---|
프로그래머스-신규 아이디 추천 (0) | 2022.05.25 |
DFS/BFS (0) | 2021.07.06 |
구현 (0) | 2021.07.05 |
코테 공부- 그리디 알고리즘 (0) | 2021.07.03 |
댓글