๐ตAlgorithm
ํ๋ก๊ทธ๋๋จธ์ค - ๋ด์
IOTrue
2023. 1. 3. 23:31
๋ด์
๋ฌธ์ ์ค๋ช
๊ธธ์ด๊ฐ ๊ฐ์ ๋ 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์ ๊ธธ์ด)
์ ํ์ฌํญ
a, b์ ๊ธธ์ด๋ 1 ์ด์ 1,000 ์ดํ์
๋๋ค.
a, b์ ๋ชจ๋ ์๋ -1,000 ์ด์ 1,000 ์ดํ์
๋๋ค.
const a = [1,2,3,4]
const b = [-3,-1,0,2]
const c = [-1,0,1]
const d = [1,0,-1]
function solution(a, b) {
return a
.map((val, i) => a[i]*b[i])
.reduce((acc, cur) => acc + cur)
}
console.log(solution(a,b))
/*
๋ค๋ฅธ ๋ฐฉ๋ฒ ํ์ด
function solution(a, b) {
return a.reduce((acc, cur, i) => acc += cur * b[i], 0)
// acc์ ์ด๊ธฐ๊ฐ 0 ํ ๋น, ์์ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ์ฒซ๋ฒ์งธ ์์ ์ฌ์ฉ
}
*/
2๊ฐ์ง ๋ฐฉ๋ฒ ํ์ด
1. map ๊ณผ reduce ํจ์ ์ฌ์ฉ, ๊ณฑ์ ๊ฐ์ ๋ฐ๋ก ๊ตฌํ ํ ํฉ์ฐ
2. reduce ํจ์ ์ฌ์ฉ, ๊ณฑ์ ๊ณผ ํฉ์ฐ์ ๋์์ ์งํ
๊ณฑ์ ์ ํฉ์ ๊ตฌํ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ค๋ฉด
์ด๋ค ๋ฐฉ๋ฒ์ด๋ผ๋ ์ฝ๊ฒ ํ์ด ๊ฐ๋ฅํ๋ค
https://school.programmers.co.kr/learn/courses/30/lessons/70128?language=javascript