본문 바로가기
알고리즘 스터디/프로그래머스 스킬체크 레벨 1(끝)

[프로그래머스 스킬체크 레벨 1] 내적 풀이 및 설명 - 자바스크립트[JavaScript]

by 레일라오리덕 2021. 7. 20.
728x90

https://programmers.co.kr/learn/courses/30/lessons/70128

 

코딩테스트 연습 - 내적

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

 

문제

 

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

결괏값 예시

 

a b result
[1,2,3,4] [-3,-1,0,2] 3
[-1,0,1] [1,0,-1] -2

 

기본 제공 틀

 

function solution(a, b) {
    var answer = 1234567890;
    return answer;
}

 

풀이 [JavaScript]

 

728x90

이번 문제는 간단히 reduce함수를 써서 해결해보았습니다.

a 배열을 돌면서 a의 각 인덱스별 value가 담김 v에 b배열의 i번째 인덱스 값을 곱해주고 그 값을 a(accumulator)에 누산하여 결과 값을 리턴해주었습니다.

가장 뒤의 파라미터 0은 초기값입니다.

function solution(a, b) {
    return a.reduce((a, v, i) => a + v * b[i], 0);
}

 

채점 결과 [JavaScript]

 

728x90

댓글