문제 설명
길이가 같은 두 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]를 곱한 값을 더하기 할당 해주고 있습니다. 문제의 복잡한 개념과는 달리, 풀이 자체는 쉬웠습니다.
'프로그래머스 > Lv. 1' 카테고리의 다른 글
[프로그래머스 코딩테스트] 문자열 다루기 기본(Java) (0) | 2023.04.05 |
---|---|
[프로그래머스 코딩테스트] 부족한 금액 계산하기(Java) (0) | 2023.04.05 |
[프로그래머스 코딩테스트] 자연수 뒤집어 배열로 만들기(Java) (0) | 2023.04.05 |
[프로그래머스 코딩테스트] 음양 더하기(Java) (0) | 2023.04.05 |
[프로그래머스 코딩테스트] 나머지가 1이 되는 수 찾기(Java) (0) | 2023.04.04 |