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]] |
문제 풀이
arr1과 arr2의 행과 열의 길이가 같고, arr1을 이용하여 map. arr2과 arr1의 값을 더 합니다.
function solution(arr1, arr2) {
return arr1.map((a, i) => a.map((b, j) => b + arr2[i][j]));
}
다른 사람의 풀이
function sumMatrix(A,B){
/*var answer = Array();
var rowMax = A.length > B.length ? A.length : B.length;
var colMax = A[0].length > B[0].length ? A[0].length : B[0].length;
for(var i=0; i < rowMax; i++)
{
answer[i] = new Array();
for(var j=0; j < colMax; j++)
{
console.log(isNaN(A[i][j])?0:A[i][j]);
console.log(isNaN(B[i][j])?0:B[i][j]);
answer[i][j] = parseInt(isNaN(A[i][j])?0:A[i][j]) + parseInt(isNaN(B[i][j])?0:B[i][j]);
}
}*/
return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log(sumMatrix([[1,2], [2,3]], [[3,4],[5,6]]))
728x90
반응형
'algorithm' 카테고리의 다른 글
프로그래머스 1단계 - 하샤드 수 (0) | 2022.11.20 |
---|---|
프로그래머스 1단계 - 콜라츠 추측 (1) | 2022.11.20 |
프로그래머스 1단계 - 문자열 다루기 기본 (1) | 2022.11.17 |
프로그래머스 1단계 - 가운데 글자 가져오기 (1) | 2022.11.16 |
프로그래머스 1단계 - 같은 숫자는 싫어 (1) | 2022.11.15 |