반응형
행렬의 덧셈
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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 solution1(arr1, arr2) {
let answer = [];
for (let i = 0; i < arr1.length; i++) {
let empty = [];
for (let j = 0; j < arr1[i].length; j++) {
empty.push(arr1[i][j] + arr2[i][j]);
}
answer.push(empty);
}
return answer;
}
function solution2(arr1, arr2) {
// #1 b : 3, 4, 5, 6
// #2 b : 3, 4
return arr1.map((a, i) => arr2[i].map((b, j) => b + arr1[i][j]));
}
- js의 내장 객체인 배열 메서드를 사용하면 코드는 간결해지지만 개인적으론 solution1이 이해가 더 잘 되고 가독성이 좋은 것 같다. 배열 메서드를 자주 사용하다보면 달라질 수도..!
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] 핸드폰 번호 가리기 | JavaScript (0) | 2021.06.10 |
---|---|
[프로그래머스] x만큼 간격이 있는 n개의 숫자 | JavaScript (0) | 2021.06.08 |
[프로그래머스] 제일 작은 수 제거하기 | JavaScript (0) | 2021.06.07 |
[프로그래머스] 수박수박수 | JavaScript (0) | 2021.06.05 |
[프로그래머스] 시저 암호 | JavaScript (0) | 2021.06.05 |