내적

문제 링크

내적

분석

배열 ab의 내적을 계산하고 반환하면 됩니다.

내적을 계산하는 공식은 문제에 적혀있습니다.

공식대로 계산하기 위해 반복문을 사용해 각 인덱스의 값을 곱하고, 결과를 모두 더하면 됩니다.
다른 방법으로는 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)

Programmers 카테고리 내 다른 글 보러가기

댓글남기기