programmers/level1

[level1] - 행렬의 덧셈

태기의삶 2020. 4. 7. 15:57

 

 

프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

 

<입출력 예>

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

 

[ 풀이 ]

배열 arr1과 arr2가 존재하고 , 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 되어야 한다.

우선, arr1에 map()를 이용해 [1,2], [2,3], 0, 1로 배열과 인덱스를 가져온다.

그러고 나서, 나눈 배열을 다시 map()를 이용해 한번 더 나눈다. 그러면 1 0, 2 1, 2 0, 3 1 이렇게 출력될 것이다.

arr1을 나눈 각 원소를 item에 담고 인덱스 i, j를 이용해 item과 arr2[i][j]를 더해서 같은 행, 같은 열의 값을 서로 더한 결과를 출력한다.

 

 

[ code ]

function solution(arr1, arr2) {
    return arr1.map( (arr, i) => arr.map((item, j) => item + arr2[i][j]));
}