반응형
[문제]
길이가 같은 두 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()에 인덱스 넘버도 넣을 수 있군...
다시 찾아 보자!!
반응형
'나의 개발일지 > 알고리즘 테스트' 카테고리의 다른 글
[프로그래머스 - Level 1] 정수 내림차순으로 배치하기 (JS) (0) | 2022.07.19 |
---|---|
[프로그래머스 - Level 1] 서울에서 김서방 찾기 (JS) (0) | 2022.07.18 |
[프로그래머스 - Level 1] 부족한 금액 계산하기 (JS) (0) | 2022.07.16 |
[프로그래머스 - Level 1] 핸드폰 번호 가리기 (JS) (0) | 2022.07.16 |
[프로그래머스 - Level 1] 두 정수 사이의 합 (JS) (0) | 2022.07.15 |