[코테/JAVA] 월간 코드 챌린지 시즌1 : 내적

    728x90
    반응형

    2021.05.06

    29번째 포스팅

     

    입사 59일차.

    DFS, BFS에 대한 이해가 아직 부족해서 평일에는 좀 더 낮은 레벨의 문제를 풀고,주말에는 DFS, BFS같은 개념이 부족한 문제를 공부해보기로 했다.

     

     

    1. 문제

     

    코딩테스트 연습 - 내적

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

    programmers.co.kr

     

    2. 문제설명

    문제 설명

    길이가 같은 두 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 이하입니다.

     

    3. 힌트

      ① a와 b 배열의 길이는 같다.

      ② 곱한 값은 누적된다.

     

    4. 풀이

    class Solution {
        public int solution(int[] a, int[] b) {
            int answer = 1234567890;

            // 1. answer를 0으로 초기화

            answer = 0;

            for (int i = 0; i < a.length; i++) {
                // 2. a와 b 배열의 값을 순서대로 하나씩 곱해준다. ( a[0]xb[0], a[1]xb[1], ..., a[i]xb[i] )

                int multp = a[i] * b[i];

                // 3. 곱한값을 누적시켜준다.
                answer += multp;
            }
            return answer;
        }
    }

     

    4. 소감

    각 배열의 index가 같은 값을 곱한 후, 곱한 값을 더하면서 누적하면 결과가 나온다. 

    너무 쉬운 문제라서 딱히 더 적을 내용도 없을 것 같다.

    728x90
    반응형

    댓글