๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[Algorithm] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.1 : ํ–‰๋ ฌ์˜ ๋ง์…ˆ

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 11. 16.
๋ฐ˜์‘ํ˜•

ํ–‰๋ ฌ์˜ ๋ง์…ˆ

ํ–‰๋ ฌ์˜ ๋ง์…ˆ์€ ํ–‰๊ณผ ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ ๋‘ ํ–‰๋ ฌ์˜ ๊ฐ™์€ ํ–‰, ๊ฐ™์€ ์—ด์˜ ๊ฐ’์„ ์„œ๋กœ ๋”ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. 2๊ฐœ์˜ ํ–‰๋ ฌ arr1๊ณผ arr2๋ฅผ ์ž…๋ ฅ๋ฐ›์•„, ํ–‰๋ ฌ ๋ง์…ˆ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ ์กฐ๊ฑด

* ํ–‰๋ ฌ arr1, arr2์˜ ํ–‰๊ณผ ์—ด์˜ ๊ธธ์ด๋Š” 500์„ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


์ž…์ถœ๋ ฅ ์˜ˆ

arr1 arr2 return
[[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]]
[[1],[2]] [[3],[4]] [[4],[6]]

๋ฌธ์ œ ํ’€์ด

์ค‘์ฒฉ for๋ฌธ์„ ํ†ตํ•ด์„œ ํ–‰๊ณผ ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ ๋‘ ํ–‰๋ ฌ์˜ ๊ฐ’์„ ๋”ํ•  ์ˆ˜ ์žˆ๋‹ค.

function solution(arr1, arr2) {
    var answer = [[]];
    
    for (let i=0; i < arr1.length; i++){
        answer[i] = [];
        
        for(let j=0; j < arr1[i].length; j++){
            answer[i].push(arr1[i][j] + arr2[i][j]);
        }
    }
    return answer;
}

๋‹ค๋ฅธ ํ’€์ด ๋ฐฉ์‹

์ถœ์ฒ˜ : ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ

ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์™€ map์„ ์ด์šฉํ•˜์—ฌ ํ•œ ์ค„๋กœ ๊ฐ„๋‹จํžˆ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์งœ๋Š” ๋ฐฉ์‹๋„ ์žˆ๋‹ค.

// ๋ฌธ์ œ๊ฐ€ ๊ฐœํŽธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํ•จ์ˆ˜ ๊ตฌ์„ฑ์ด๋‚˜ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด, ๊ณผ๊ฑฐ์˜ ์ฝ”๋“œ๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
// ์ƒˆ๋กœ์šด ํ•จ์ˆ˜ ๊ตฌ์„ฑ์„ ์ ์šฉํ•˜๋ ค๋ฉด [์ฝ”๋“œ ์ดˆ๊ธฐํ™”] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์„ธ์š”. ๋‹จ, [์ฝ”๋“œ ์ดˆ๊ธฐํ™”] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ž‘์„ฑ ์ค‘์ธ ์ฝ”๋“œ๋Š” ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.
function sumMatrix(A,B){
    /*var answer = Array();
  var rowMax = A.length > B.length ? A.length : B.length;
  var colMax = A[0].length > B[0].length ? A[0].length : B[0].length;
    for(var i=0; i < rowMax; i++)
  {
    answer[i] = new Array();
    for(var j=0; j < colMax; j++)
    {
      console.log(isNaN(A[i][j])?0:A[i][j]);
      console.log(isNaN(B[i][j])?0:B[i][j]);
            answer[i][j] = parseInt(isNaN(A[i][j])?0:A[i][j]) + parseInt(isNaN(B[i][j])?0:B[i][j]);
    }
  }*/

    return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}

// ์•„๋ž˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ์ถœ๋ ฅํ•ด ๋ณด๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
console.log(sumMatrix([[1,2], [2,3]], [[3,4],[5,6]])) 
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.