Algorithm - 행렬의 덧셈
프로그래머스 Lv.1
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]] |
나의 풀이
function solution(arr1, arr2) {
let result = [];
for (let i = 0; i < arr1.length; i++) {
let newArr = [];
for (let j = 0; j < arr1[i].length; j++) {
newArr.push(arr1[i][j] + arr2[i][j]);
}
result.push(newArr);
}
return result;
}
- 최종적으로 출력되어야할 변수 result에 빈 배열을 할당한다.
- 변수 i가 arr1의 길이에 도달하기 전까지 반복문을 돌린다.
- 그 안에 newArr라는 변수를 생성하여 빈 배열을 할당한다. (배열 안의 배열을 담기 위한 것)
- 변수 j가 arr1[i]의 길이에 도달하기 전까지 반복문을 돌린다.
- 그 안에서 newArr 변수에 위 코드와 같이 요소를 push 한다.
- 두 번 째 반복문이 끝나면 newArr를 변수 result에 push한다.
- 최종적으로 result를 출력한다.
다른 사람의 풀이
function sumMatrix(A,B){
return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}
2중 map을 돌려 풀이한 방법이다.
Author And Source
이 문제에 관하여(Algorithm - 행렬의 덧셈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@devmoonsh/Algorithm-행렬의-덧셈저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)