본문 바로가기
코딩테스트 연습

Programmers 내적 Level 1

by 동배_ 2021. 8. 31.

문제 설명

https://programmers.co.kr/learn/courses/30/lessons/70128?language=java 

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


제한사항

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

문제 해석 및 풀이 방법

1. 반복문을 이용하여 a와 b의 동일한 인덱스의 값을 곱하여 더해준다.

 

내가 작성한 소스코드(Java)

class Solution {
    public long solution(int[] a, int[] b) {
        long answer = 0L;
        for(int i=0;i<a.length;i++){
            answer += a[i] * b[i];
        }
        return answer;
    }
}

for문을 통해 0~ a.length-1만큼 1증가를 한다.( a와 b의 크기가 동일함)

그후 a[i] *b[i] 즉 a와 b의 동일한 인덱스 값을 서로 곱한 값을 answer에 더한다.

 

그리고 answer을 리턴한다.

결론 및 고찰

이 문제는 단순히 a와 b의 같은 인덱스를 곱하는 방법이라 간단했다.  내부를 쌓는다는  뜻으로 수학적으로 곱한다고 생각면된다 

 

 

소요 시간 5

댓글