코딩테스트
로또의 최고 순위와 최저 순위 - Programmers
@서비
2022. 5. 2. 23:43
가장 많은 솔루션
def solution(lottos, win_nums):
rank=[6,6,5,4,3,2,1] //2개 맞는 경우 부터 5등
cnt_0 = lottos.count(0) //0의 개수를 세서 저장
ans = 0
for x in win_nums:
if x in lottos: //x 값이 lottos 에 있는지 확인
ans += 1
return rank[cnt_0 + ans],rank[ans]
나의 정답... 맞기는 했는데 구조가 좋지 않은거 같다.
def solution(lottos, win_nums):
answer = [6,6] //초기값 6등
count = 0
for i in lottos:
for j in win_nums:
if i==j:
answer[0] -=1
answer[1] -=1
if i==0:
count +=1
answer[0] -= count //0의 갯수만큼 감소
if answer[0] != 6: //2개부터 5위라 정보 보정
answer[0] += 1
if answer[1] != 6:
answer[1] += 1
return answer
https://programmers.co.kr/learn/courses/30/lessons/77484
코딩테스트 연습 - 로또의 최고 순위와 최저 순위
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호
programmers.co.kr