알고리즘/프로그래머스

내적(JAVA)

mrban 2022. 1. 17. 09:22

1. 문제

길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어지고 a와 b의 내적을 return하는 함수를 만드시오.

예를들어, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다.

 

2. 제한
a, b의 길이는 1 이상 1,000 이하입니다.
a, b의 모든 수는 -1,000 이상 1,000 이하입니다.
 
3. 정답
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;
    }
}

4. 설명

4-1. 길이가 같으므로 a의 길이만큼 for문을 돌리면서 내적을 구한다.

4-2. answer는 a[0]*b[0] + a[1]*b[1] + .... + a[n-1]*b[n-1] 이런식으로 for문을 통해 계산된다.

 

 

5. 참고

5-1. a와 b는 최대 1000길이이고 a와 b의 인자들의 최대 값도 1000이기 때문에 발생할 수 있는 가장 큰 내적값은 1000*1000*1000 = 1,000,000,000이다. 따라서 return값의 자료형은 int로 해도 충분하다.

'알고리즘 > 프로그래머스' 카테고리의 다른 글

나누어 떨어지는 숫자 배열(JAVA)  (0) 2022.01.17
2016년(JAVA)  (0) 2022.01.17
부족한 금액 계산하기(JAVA)  (0) 2022.01.15
행렬의 덧셈(JAVA)  (0) 2022.01.15
핸드폰 번호 가리기(JAVA)  (0) 2022.01.15