차차로그
[JS] 월간 코드 챌린지 시즌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의 길이)
function solution(a, b) {
let sum = 0;
for(var i = 0; i < a.length; i++){
sum += a[i] * b[i];
}
return sum;
}
처음에는 reduce로 하고 싶었는데 뭐가 잘 되길래 for문을 돌려서 값을 구했다.
a배열과 b배열의 길이가 같아서 a의 길이 기준으로 for문을 돌렸다.
function solution(a, b) {
return a.reduce((acc, val, idx) =>
acc += a[idx] * b[idx], 0
);
}
reduce()로 문제를 풀었을 때
여기서는 인덱스를 이용해 각 배열[인덱스]로 값을 가져온 후 acc에 값을 더했다.
주의할 점은 초기값을 0으로 정해주지 않으면 a배열의 첫 번째 값으로 acc가 설정되기 때문에 꼭 지정을 해줘야 한다!
'코딩테스트' 카테고리의 다른 글
[JS] 월간 코드 챌린지 시즌1 > 3진법 뒤집기 (0) | 2022.08.12 |
---|---|
[JS] 월간 코드 챌린지 시즌1 > 두 개 뽑아서 더하기 (0) | 2022.08.12 |
[JS] 월간 코드 챌린지 시즌3 > 없는 숫자 더하기 (0) | 2022.08.12 |
[JS] 월간 코드 챌린지 시즌2 > 음양 더하기 (0) | 2022.08.12 |
[JS] 2021 Dev-Matching: 웹 백엔드 개발자(상반기) > 로또의 최고 순위와 최저 순위 (0) | 2022.08.05 |
Comments