[5/21] 로또의 최고 순위와 최저 순위

이경준·2021년 5월 22일
0

코테

목록 보기
4/140
post-custom-banner

문제 성공

내 코드

저장 실패

풀이

  1. lottos에서 0 개수를 zeronums 배열에 저장한다.
  2. for문 돌려서 lottos에 win_nums 숫자가 몇개 들어있는지 min에 저장
  3. max = min + zeronums
  4. if-elif문을 2개 사용하여, 일일이 경우의 수 12개를 모두 만듬
  5. answer 리스트에 max, min 등수를 추가하여 반환

효율적인 코드

def solution(lottos, win_nums):
    zero_nums = lottos.count(0)

    min = 0
    for i in lottos:
        if (i in win_nums):
            min += 1

    max = min + zero_nums
    print(max, min)

    max = 7- max if max >=2 else 6
    min = 7- min if min >=2 else 6

    return max, min

피드백

  • 개수를 세는 것은 count(k) 함수를 이용
  • if-else문 대신 배열을 이용한 방법, 위의 방법 등을 사용할 수 있다. 배열을 사용한 방법은 어려워서 위의 방법처럼 그때그때 로직을 파악하여 간단하게 적용해야겠다.
  • 리스트를 만들어서 반환하지 말고, 그냥 변수 여러개를 쉼표로 구분하여 반환

배운 것

  • count(k) : 리스트 등에서 k 개수 반환
profile
The Show Must Go On
post-custom-banner

0개의 댓글