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
'코딩테스트' 카테고리의 다른 글
프로그래머스 K번째 수(Python) (0) | 2021.05.17 |
---|---|
프로그래머스 신규 아이디(Python) (0) | 2021.05.17 |
프로그래머스 소수 만들기(Python) (0) | 2021.05.16 |
프로그래머스 완주하지 못한 선수(Python) (0) | 2021.05.16 |
프로그래머스 가운데 글자 찾기(JS, Python) (0) | 2021.05.16 |