Input + Output = True

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋‚ด์  ๋ณธ๋ฌธ

๐Ÿ•ต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

Comments