[프로그래머스][C++] 내적
내적
문제 링크
분석
배열 a
와 b
의 내적을 계산하고 반환하면 됩니다.
내적을 계산하는 공식은 문제에 적혀있습니다.
공식대로 계산하기 위해 반복문을 사용해 각 인덱스의 값을 곱하고, 결과를 모두 더하면 됩니다.
다른 방법으로는 numeric
헤더의 inner_product
함수를 사용하면 내적을 구할 수 있습니다.
풀이
반복문으로 직접 계산하는 방법입니다.
#include <vector>
int solution(std::vector<int> a, std::vector<int> b) {
int answer = 0;
for (int i = 0; i < a.size(); ++i)
{
answer += a[i] * b[i];
}
return answer;
}
inner_product
함수를 사용하는 방법입니다.
#include <vector>
#include <numeric>
int solution(std::vector<int> a, std::vector<int> b) {
return inner_product(a.begin(),a.end(),b.begin(),0);
}
성능 요약
반복문을 사용한 성능입니다.
테스트 1 〉 통과 (0.01ms, 3.7MB)
테스트 2 〉 통과 (0.01ms, 4.13MB)
테스트 3 〉 통과 (0.01ms, 4.13MB)
테스트 4 〉 통과 (0.01ms, 4.2MB)
테스트 5 〉 통과 (0.01ms, 3.64MB)
테스트 6 〉 통과 (0.01ms, 4.2MB)
테스트 7 〉 통과 (0.01ms, 4.2MB)
테스트 8 〉 통과 (0.01ms, 3.75MB)
테스트 9 〉 통과 (0.01ms, 4.01MB)
inner_product
함수를 사용한 성능입니다.
테스트 1 〉 통과 (0.01ms, 4.14MB)
테스트 2 〉 통과 (0.01ms, 4.13MB)
테스트 3 〉 통과 (0.01ms, 4.15MB)
테스트 4 〉 통과 (0.01ms, 3.68MB)
테스트 5 〉 통과 (0.01ms, 4.21MB)
테스트 6 〉 통과 (0.01ms, 4.21MB)
테스트 7 〉 통과 (0.01ms, 4.17MB)
테스트 8 〉 통과 (0.01ms, 3.67MB)
테스트 9 〉 통과 (0.01ms, 3.69MB)
댓글남기기