티스토리 뷰

 

가장 많은 솔루션

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

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함