프로그래머스/Lv. 1

[프로그래머스 코딩테스트] 내적(Java)

Sigfriede 2023. 4. 5. 01:35

  문제 설명

  길이가 같은 두 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의 길이)

 

  문제에 첨부된 내적 설명에 관한 링크

  https://en.wikipedia.org/wiki/Dot_product

 

  제한사항

  • 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
class Solution {
    public int solution(int[] a, int[] b) {
        int answer = 0;
        for (int i = 0; i < a.length; i++) {
            answer += a[i] * b[i];
        }
        return answer;
    }
}

  내적이 뭔지는 아직도 잘 모르겠지만, 문제에서 공식을 제시하고 있으므로 몰라도 문제를 푸는 데에는 지장이 없습니다. 설명을 찾아 읽어도 모르겠어요.

  for문이 a의 길이만큼 순회하면서, 문제에서 제시한 공식대로, a[i]와 b[i]를 곱한 값을 더하기 할당 해주고 있습니다. 문제의 복잡한 개념과는 달리, 풀이 자체는 쉬웠습니다.