728x90
https://programmers.co.kr/learn/courses/30/lessons/70128
function solution(a, b) {
var answer = 1234567890;
// 두 배열을 곱해진 값을 담아둘 임시변수
let temp = 0;
// 최종적으로 합을 담을 변수
let sum = 0;
// a,b의 길이는 같기때문에 a만쓴다.
for(let i=0; i<a.length; ++i){
temp = a[i] * b[i]
sum = sum + temp;
}
// answer = 1234567890이기때문에 sum으로 변경
answer = sum
return answer;
}
나는 평범하게 각 배열의 인덱스에 for 문으로 도달해서 끝냈다.
생각해보니 map도 있고, reduce도 있는데, 아직 for문이 제일먼저 떠오르게 된다.
정답코드는 역시 map으로 풀어냈다.
해석하자면, acc에 계속 a[i] * b[*]값이 쌓여서 최종적인 값을 뱉어내게 된다
두번째 인덱스는 배열이 두개가 들어가게 되어서 안쓰게 된건가 하고 추측만해봤다.
function solution(a, b) {
return a.reduce((acc, _, i) => acc += a[i] * b[i], 0);
}
728x90
'알고리즘' 카테고리의 다른 글
프로그래머스 Level 1 - 2016년 (Javascript) (0) | 2022.05.14 |
---|---|
(중요! map관련)프로그래머스 Level 1 - 나누어 떨어지는 숫자 배열 (Javascript) (0) | 2022.05.14 |
프로그래머스 Level 1 - 서울에서 김서방 찾기(Javascript) (0) | 2022.05.14 |
프로그래머스 Level 1 - 수박수박수박수박수박수?(Javascript) (0) | 2022.05.14 |
프로그래머스 Level 1 - 문자열 다루기 기본(Javascript) (0) | 2022.05.14 |