티스토리 뷰

길이가 같은 두 정수 배열의 내적을 구해야한다.
먼저, 각 요소를 곱하고, 그 결과를 더해주어야 한다.
function solution(a, b) {
let sum = 0;
for (let i = 0; i < a.length; i++) {
sum += a[i] * b[i];
}
return sum;
}
반복문이 나오면 배열이라면 map으로,
그 외라면 보통 reduce로 해결할 수 있다.
해당 코드는 이런 식으로 해결할 수 있다고 한다.
(acc, _, i) => acc += a[i] * b[i], 0
그런데 인자를 세 개나 사용하니 코드 해석이 어려워서,
reduce 문서를 확인했다.
Array.prototype.reduce() - JavaScript | MDN
The reduce() method of Array instances executes a user-supplied "reducer" callback function on each element of the array, in order, passing in the return value from the calculation on the preceding element. The final result of running the reducer across al
developer.mozilla.org
(accumulator, currentValue, currentIndex, array)
이 경우, reduce 메서드는 배열의 각 요소를 순회해 누적 작업을 수행하는데
a와 b 배열의 동일 인덱스의 값을 곱하기 때문에 curr는 필요하지 않다.
'Oops, All Code! > 🤯 Oops, My Algorithm!' 카테고리의 다른 글
| ꒰ྀི 02. 프로그래머스:: 주식가격 (0) | 2024.07.15 |
|---|---|
| ꒰ྀི 01. 프로그래머스:: 더 맵게 (0) | 2024.07.15 |
| ♡̈ 18. 프로그래머스:: 행렬의 덧셈 (2) | 2024.07.13 |
| ♡̈ 17. 프로그래머스:: 최대공약수와 최소공배수 (0) | 2024.07.13 |
| ♡̈ 16. 프로그래머스:: 콜라츠 추측 (0) | 2024.07.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 서평
- 코딩테스트
- 어휘력
- 웹풀스택
- 대학생팝업스토어
- 도서추천
- 경험플리마켓
- 프론트엔드
- 카드뉴스
- react
- 소사벌
- 프로토타입
- 트러블슈팅
- 비즈플리마켓
- javascript
- 소사벌맛집
- 부스트캠프
- 프리코스
- 카페추천
- 도서리뷰
- 책추천
- 회고
- 안성스타필드
- 우아한테크코스
- 네이버부스트캠프
- 일급객체
- typescript
- js
- 대학생플리마켓
- 어른의어휘공부
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함