https://school.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의 길이)
a, b의 길이는 1 이상 1,000 이하입니다.
a, b의 모든 수는 -1,000 이상 1,000 이하입니다.
a | b | result |
---|---|---|
[1, 2, 3, 4] | [-3, -1, 0, 2] | 3 |
[-1, 0, 1] | [1, 0, -1] | -2 |
입출력 예 #1
입출력 예 #2
내적을 구하는 식 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] (n은 a, b의 길이) 을 이용하여 내적을 구한다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// a_len은 배열 a의 길이입니다.
// b_len은 배열 b의 길이입니다.
int solution(int a[], size_t a_len, int b[], size_t b_len) {
int answer = 0;
for (int i = 0; i < a_len; i++) { // 배열의 길이 만큼 반복
answer += a[i] * b[i]; // 내적 구하기
}
return answer;
}
좀 어려워 보여서 풀었는데 생각보다 단순하고 쉬운 문제였다.