[Level 1] 행렬의 덧셈
글 작성자: NoHack
728x90
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
문제 풀이
const solution = (arr1, arr2) => {
return arr1.map((col, i) => {
return col.map((item, j) => {
return item + arr2[i][j];
});
});
};
const inputs = [
// 입력 케이스 1
[
// arr1
[
[1, 2],
[2, 3],
],
// arr2
[
[3, 4],
[5, 6],
],
],
// 입력 케이스 2
[
// arr1
[[1], [2]],
// arr2
[[3], [4]],
],
];
inputs.forEach((input) => console.log(solution(...input)));
두 행렬을 더하는 문제는 배열을 순회하면서 요소를 변경하고, 최종적으로 새롭게 만들어진 배열을 반환하는 Array.prototype.map 메소드를 사용하면 손쉽게 해결할 수 있습니다. 이 메소드는 콜백함수를 인자로 받으며, 이 콜백함수는 현재 참조 중인 요소의 값과 인덱스를 받아 작업을 수행합니다. 따라서 두 개의 map을 사용하면 행과 열에 대한 접근을 간단하게 할 수 있고, 요소별로 더한 값을 반환하기만 하면 문제에서 요구하는 결과를 얻어낼 수 있습니다.
'📝 문제풀이 > 프로그래머스' 카테고리의 다른 글
[Level 1] 평균 구하기 (0) | 2022.02.24 |
---|---|
[Level 1] 하샤드 수 (0) | 2022.02.24 |
[Level 1] 핸드폰 번호 가리기 (0) | 2022.02.24 |
[Level 1] x만큼 간격이 있는 n개의 숫자 (0) | 2022.02.24 |
[Level 1] 직사각형 별찍기 (0) | 2022.02.24 |
댓글
이 글 공유하기
다른 글
-
[Level 1] 하샤드 수
[Level 1] 하샤드 수
2022.02.24 -
[Level 1] 핸드폰 번호 가리기
[Level 1] 핸드폰 번호 가리기
2022.02.24 -
[Level 1] x만큼 간격이 있는 n개의 숫자
[Level 1] x만큼 간격이 있는 n개의 숫자
2022.02.24 -
[Level 1] 직사각형 별찍기
[Level 1] 직사각형 별찍기
2022.02.24