거북이개발자

[프로그래머스] 내적, 로또의 최고순위와 최저순위 본문

Algorithm(Python)/programmers(Lv.1)

[프로그래머스] 내적, 로또의 최고순위와 최저순위

류정식 2021. 6. 21. 21:36

0. 제목

  • 프로그래머스 내적
  • 프로그래머스 로또의 최고순위와 최저순위

1. 문제

 

https://programmers.co.kr/learn/courses/30/lessons/70128

 

코딩테스트 연습 - 내적

길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의

programmers.co.kr

 

https://programmers.co.kr/learn/courses/30/lessons/77484

 

코딩테스트 연습 - 로또의 최고 순위와 최저 순위

로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호

programmers.co.kr


2. 풀이

 


3. 코드

(1). 내적

def solution(a, b):
    answer=0
    for i in range(0, len(a)):
        answer+=a[i]*b[i]
    return answer

 

(2). 로또의 최저 순위와 최고 순위

def solution(lottos, win_nums):
    max_num=0
    min_num=0
    zero_num=0
    cor_num=0
    answer = []
    for i in lottos:
        if i==0:
            zero_num+=1
    for j in lottos:
        if j in win_nums:
            cor_num+=1
    
    max_num=cor_num+zero_num
    min_num=cor_num
    
    if(max_num!=0):
        max_rank=7-max_num
    else:
        max_rank=6
    
    if(min_num!=0):
        min_rank=7-min_num
    else:
        min_rank=6
    
    answer.append(max_rank)
    answer.append(min_rank)

    return answer

 

Comments