프로그래머스: 행렬의 덧셈

승헌·2022년 3월 6일
0

프로그래머스 Level 1

목록 보기
44/51

(문제링크)

문제

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

제한사항

  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

입출력 예

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

풀이

Array.map() 으로 각 배열 원소끼리 더한 값을 반환한다.

arr.map(callback(currentValue[, index[, array]])[, thisArg])
map의 매개변수로 currentValue랑 index를 받아오면 arr[index] 까지 접근할 수 있다.
근데 arr1arr2는 2차 배열이므로 한번 더 들어가줘야 한다.
그래서 map안에 map을 한번 더 썼다.

이렇게 map을 사용하지 않고, 직접 반복문을 돌려 각 원소끼리 더할 수도 있다.

소스코드

function solution(arr1, arr2) {
    return arr1.map((x, i) => x.map((y, j) => y + arr2[i][j]));
}
profile
https://heony704.github.io/ 이리콤

0개의 댓글