Python - 내적

Minseok Jeon·2024년 6월 27일

문제

길이가 같은 두 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) + 30 + 42 = 3 입니다.

입출력 예 #2

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

문제 풀이

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

코드 설명

for i in range(len(a)):
    r = a[i] * b[i]
    result += r
return result

ex) a = [1,2,3,4] b = [-3,-1,0,2]
len(a) = 4 -> 반복문은 4번 반복됨
r = a[i] b[i]
-> a[0]
b[0] = 1 X -3 = -3
a[1] b[1] = 2 x -1 = -2
a[2]
b[2] = 3 x 0 = 0
a[3] * b[3] = 4 x 2 = 8
result += r -> result = result + r
result = result + r
0 = 0 + -3
-3 = -3 + -2
-5 = -5 + 0
-5 = -5 + 8
-> result = 3

  1. 리스트 a의 길이 만큼 반복문을 돌려준다.

  2. r이라는 변수에 리스트 a의 각 자리의 요소와 리스트 b의 각 자리의 요소를 곱해준 값을 넣어준다.

  3. result 변수에 변수 r을 더해간다.

  4. result를 반환한다.

0개의 댓글