๋ฌธ์ ๐ฝ
https://school.programmers.co.kr/learn/courses/30/lessons/12949
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ค๋ฅธ์ฌ๋ ํ์ด ๐ฝ
function solution(arr1, arr2) {
return arr1.map((row) => arr2[0].map((x,y) => row.reduce((a,b,c) => a + b * arr2[c][y], 0)))
}
๋ดํ์ด๐ฝ
1. ์คํจ โ => ( answer[i][j] => ์ด๋ฌ๋ฉด ์๋จ)
function solution(arr1, arr2) {
var answer = [[]];
for(let i=0; i<arr1.length; i++){
for(let j=0; j<arr2[0].length; j++){
let sum = 0;
for(let z=0; z<arr1[0].length; ++z){
sum+=arr1[i][z]*arr2[z][j]
}
answer[i][j]=sum
}
}
return answer;
}
2. ์ฑ๊ณต โญ
function solution(arr1, arr2) {
let answer =[];
for(let i=0; i<arr1.length; i++){
let newArr=[]
for(let j=0; j<arr2[0].length; j++){
let sum = 0;
for(let z=0; z<arr1[0].length; ++z){
sum+=arr1[i][z]*arr2[z][j]
}
newArr.push(sum)
}
answer.push(newArr)
}
return answer;
}
๋๋์ ๐ฝ
์ฒซ ์๋์ ๋ก์ง์ ํ์ ํ ์ ์์๋ค.
๊ฐ์ฒด์ ํด๋น ์์๋ฅผ ๋ฃ๋ answer[i][j]=sum ์์ ํ๋ ธ๋ค โarray ์์ ๊ฐ ํ ๋น์ ์ข์ธก๊ณผ ๊ฐ์ด ์๋๋ค๋ ์ฌ์ค์ ์๊ฒ ๋๋ค.
๊ทธ๋์ push๋ฅผ ์ด์ฉํ์ฌ array์ ๊ฐ์ ํ ๋นํ๋ค.