문제 풀기/JavaScripts

문제 37. 행렬의 덧셈(난이도 5)(map 함수)

kagan-draca 2024. 7. 23. 16:42

 

반복문을 사용한 코드

 

제출한 코드 : 

 

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

 

반복문을 사용하지 않고 풀 수 있는 방법이 존재할 것이라 생각하고

다른 사람의 풀이 법을 찾아 본 결과,

map()함수가 존재했다.

 

map()함수는 배열을 순회하며 각 요소를 콜백 함수로 적용해

새로운 배열로 반환하기 위한 함수였다.

 

map()함수의 사용법은
map((element, index, array)=> ~~~)

 

element : 배열 요소

index : 인덱스

array : 사용할 배열

 

였다.

 

위의 map() 함수를 통해

 

function solution(arr1, arr2) 
{
    return arr1.map((arr, index1)=> arr.map((val, index2)=> val + arr2[index1][index2]))
}

 

위와 같이 2차원 배열에서도 반복문 없이 문제를 풀 수 있었다.