19살 예비 웹개발자 개발일지

코딩테스트

프로그래머스 내적(Python)

갱's 개발 모험 2021. 5. 16. 22:31
728x90

문제 설명

길이가 같은 두 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의 길이)


제한사항

  • a, b의 길이는 1 이상 1,000 이하입니다.
  • a, b의 모든 수는 -1,000 이상 1,000 이하입니다.

입출력 예

abresult

[1,2,3,4] [-3,-1,0,2] 3
[-1,0,1] [1,0,-1] -2

입출력 예 설명

입출력 예 #1

  • a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3입니다.

입출력 예 #2

  • a와 b의 내적은 (-1)*1 + 0*0 + 1*(-1) = -2입니다.

문제 풀이

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

이때, a와 b의 내적은 a [0]*b [0] + a [1]*b [1] +... + a [n-1]*b [n-1]입니다. (n은 a, b의 길이)

위 설명을 보면 간단히 풀 수 있다.

a, b의 각각의 같은 자리에 위치한 숫자들을 곱하여 모든 값을 더한 answer의 값을 return 하도록 for문을 활용해

a의 i번째 자리, b의 i번째 자리에 위치한 원소를 서로 곱하여 answer에 계속해서 더해준다.

이때 조심해야 하는 것은 a와 b의 위치가 같아야 한다. 그렇기 때문에 for문은 한 개면 된다.

 

오늘도 아자아자 파이팅!!!!!

728x90