본문으로 바로가기

📘문제 설명

길이가 같은 두 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://school.programmers.co.kr/learn/courses/30/lessons/70128

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 


📌 제한조건

  • a, b의 길이는 1 이상 1,000 이하입니다.
  • a, b의 모든 수는 -1,000 이상 1,000 이하입니다.


💡 개념 설명

  1. 변수 초기화: 내적 값을 저장할 정수형 변수를 0으로 초기화합니다.
  2. 반복문: 두 배열 a와 b의 길이가 같으므로, 그 길이만큼 반복하는 반복문을 실행합니다.
  3. 내적 계산: 반복문 안에서 각 인덱스(i)에 대해 a[i]와 b[i]를 곱한 값을 초기화한 변수에 계속 더해 나갑니다.
  4. 값 반환: 반복문이 끝나면 최종적으로 계산된 합을 반환합니다.

📎 입출력 예시


📎 코드

public 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;
    }

    public static void main(String[] args) {
        Solution sol = new Solution();

        // 테스트 케이스
        int[] a1 = {1, 2, 3, 4};
        int[] b1 = {-3, -1, 0, 2};
        int[] a2 = {-1, 0, 1};
        int[] b2 = {1, 0, -1};

        System.out.println("결과 1: " + sol.solution(a1, b1)); // 예상 출력: 3
        System.out.println("결과 2: " + sol.solution(a2, b2)); // 예상 출력: -2
    }
}

 


📎 결과