코딩테스트연습 행렬의 덧셈

beomhak lee·2022년 5월 16일
0

CodingTest_Practice

목록 보기
6/7
post-thumbnail

행렬의 덧셈

문제설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

입출력 예

arr1arr2return
[[1,2],[2,3]][[3,4],[5,6]][[4,6],[7,9]]
[[1],[2]][[3],[4]][[4],[6]]

풀이

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

다른풀이

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

map 함수를 공부해보자.

var numbers = [4, 9, 16, 25, 36];
// sqrt 제곱근
var result = numbers.map(Math.sqrt); 
console.log(result) // [2,3,4,5,6]
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var newNumbers = numbers.map(number => number *2);
console.log(newNumbers) // [2, 4, 5, 8, 10, 12, 14, 16, 18];
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var newNumbers = numbers.map(function(number){
  return number *2; // [2, 4, 5, 8, 10, 12, 14, 16, 18];
		});
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];

function multiplyTwo(number){
  return number *2;
}

var newNumbers = numbers.map(multiplyTwo)
console.log(newNumbers); // [2, 4, 5, 8, 10, 12, 14, 16, 18];
var students = [
  {id:1, name:'james'},
  {id:2, name:'tim'},
  {id:3, name:'john'},
  {id:3, name:'brian'},
]

var names = students.map(x => x.name);
console.log(names) // 이름만 뽑아내기
var numbers = [1, 2, 3, 4, 5, 6];
var numbersReverse = numbers.map(x => x*2).reverse();
console.log(numbersReverse) //[12,10,8,6,4,2]
var numbers = [[1,2,3],[4,5,6],[7,8,9]];
var newNumbers = numbers.map(x=>x.map(a=>a*2));
console.log(newNumbers) // [[2,4,6],[8,10,12],[14,16,18]]

0개의 댓글