# 문제 원문
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]] |
# 문제 풀이
입력 받은 배열 arr1과 arr2를 합해서 하나의 배열을 구한후 반환해주는 문제 반복문을 이용해서 간단히 구현가능하다.
arr1과 arr2의 행열이 완전히 같기에 arr1를 순회시키면서 rdx, cdx를 구해서 arr2의 값을 더 해주면 된다.
# 솔루션 플로우
1. 입력받은 arr1를 순회한다.
2. arr1의 요소인 arr를 순회하면서 arr2와 합해준다.
3. 그렇게 얻어진 result를 반환한다.
1. reduce을 활용한 풀이
function solution(arr1, arr2) {
return arr1.reduce((result, current, rdx) => {
result.push(current.map((num, cdx) => num + arr2[rdx][cdx]));
return result;
}, []);
}
2. map을 활용한 풀이
function solution(arr1, arr2) {
return arr1.map((current, rdx) => current.map((num, cdx) => num + arr2[rdx][cdx]));
}
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스][LEVEL1] 직업군 추천하기 (0) | 2021.08.23 |
---|---|
[프로그래머스][LEVEL1] 최대공약수와 최소 공배수 (0) | 2021.08.23 |
[프로그래머스][LEVEL1] 시저암호 (0) | 2021.08.21 |
[프로그래머스][LEVEL1] 문자열 내 p와 y의 개수 (0) | 2021.08.20 |
[프로그래머스][LEVEL1] 나누어 떨어지는 숫자 배열 (0) | 2021.08.20 |