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]] |
입출력 예 설명
3-1) 입출력 예 #1
- 없음
문제 풀이
const solution = (arr1, arr2) =>
arr1.map((item, i) => item.map((item, j) => item + arr2[i][j]));
console.log(
solution(
[
[1, 2],
[2, 3],
],
[
[3, 4],
[5, 6],
]
)
);
풀이
- 문제를 보면 arr1 과 arr2의 n번째 배열끼리 덧셈을 하는 문제이다. 각 배열의 길이가 같아서 반복문을 사용하여 풀기로 했다.
- 먼저 arr1에서
map
메서드를 사용하여, item은 [1,2]와 [2,3] 배열로 처리했다. - 그리고
map
메서드를 다시 사용하여, 각 배열의 1,2와 2,3을 순회할 때 arr2의[i][j] 즉, i행 j열의 숫자를 더해주었다.
다른 사람의 풀이 참고
대부분 반복문을 사용하여 문제를 처리했다.
function solution(arr1, arr2) {
var answer = [[]];
for (var i = 0; i < arr1.length; i++) {
answer[i] = [];
for (var j = 0; j < arr1[i].length; j++) {
answer[i].push(arr1[i][j] + arr2[i][j]);
}
}
return answer;
}
링크
- 문제 링크: 문제 링크
- Git: rarrit github
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges