나의 개발일지/알고리즘 테스트
[프로그래머스 - Level 1] 내적 (JS)
stella_gu
2022. 7. 18. 19:06
반응형
[문제]
길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다.
a와 b의 내적을 return 하도록 solution 함수를 완성해주세요.
[a, b, c]
+ [d, e, f]
→ (a*d) + (b*e) + (c*f)
[로직]
1. 배열의 길이가 같으로므 for문을 돌려 [i]번째 인덱스를 가져와 곱한다.
2. answer라는 변수를 만들어 곱한 값을 하나씩 더해준다.
[코드]
function solution(a, b) {
let answer = 0;
for (i = 0; i < a.length; i++) {
answer += a[i]*b[i];
}
return answer;
}
const a = [1,2,3,4];
const b = [-3,-1,0,2];
const c = [-1,0,1];
const d = [1,0,-1];
console.log(solution(a,b)); // 결과 값 : 3
console.log(solution(c,d)); // 결과 값 : -2
1. 배열의 길이가 같으로므 for문을 돌려 [i]번째 인덱스를 가져와 곱한다.
for (i = 0; i < a.length; i++) {
a[i]*b[i];
}
2. answer라는 변수를 만들어 곱한 값을 하나씩 더해준다.
let answer = 0;
for (i = 0; i < a.length; i++) {
answer += a[i]*b[i];
}
3. answer를 return해주면 完成!
let answer = 0;
for (i = 0; i < a.length; i++) {
answer += a[i]*b[i];
}
return answer;
다른 사람들은 어떻게 풀었나
function solution(a, b) {
return a.reduce((acc, cur, idx) => acc += cur*b[idx], 0)
}
reduce()에 인덱스 넘버도 넣을 수 있군...
다시 찾아 보자!!
반응형