728x90
프로그래머스 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]] |
🍞 문제 풀이
반복문을 통해 값을 구한 후, sum이라는 배열에 넣고, 다시 sum을 answer에 넣어주었습니다.
function solution(arr1, arr2) {
var answer = [];
for(let i=0; i<arr1.length; i++){
let sum = [];
for(let j=0; j<arr1[i].length; j++){
sum.push(arr1[i][j]+arr2[i][j]);
}
answer.push(sum)
}
return answer;
}
🍞 다른 이의 풀이
함수와 map()문을 이용한 풀이입니다. 무슨 소리인지는 잘 모르겠지만 보다 간단하게 풀 수 있는 창의적인 풀이인 것 같습니다.
const matrixAddition = (matrix1, matrix2) =>
matrix1.map((row, y) =>
row.map((v, x) => v + matrix2[y][x]));
function solution(arr1, arr2) {
return matrixAddition(arr1, arr2);
}
728x90
'알고리즘 공부하기' 카테고리의 다른 글
프로그래머스 1단계 - 최대공약수와 최소공배수 (2) | 2022.11.25 |
---|---|
프로그래머스 1단계 - 직사각형 별찍기 (1) | 2022.11.24 |
프로그래머스 1단계 - 부족한 금액 계산하기 (1) | 2022.11.22 |
프로그래머스 1단계 - 약수의 개수와 덧셈 (2) | 2022.11.21 |
프로그래머스 1단계 - 문자열 다루기 기본 (3) | 2022.11.20 |
댓글