728x90
프로그래머스 코딩테스트 연습 문제지
코딩 영역
Lv.1성명 |
수험 번호 | - |
행렬의 덧셈
30. 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
* 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
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;
}
나의 풀이
for문을 활용하여 두개의 배열에서 같은 인덱스 값을 더해주었습니다.
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]]))
다른 풀이
화살표 함수와 map 메서드를 활용하여 풀어주었네요 !
'프로그래머스' 카테고리의 다른 글
프로그래머스 | Lv.0 공 던지기 (1) | 2022.11.29 |
---|---|
프로그래머스 | Lv.1 이상한 문자 만들기 (1) | 2022.11.29 |
프로그래머스 | Lv.1 직사각형 별찍기 (3) | 2022.11.28 |
프로그래머스 | Lv.1 부족한 금액 계산하기 (1) | 2022.11.24 |
프로그래머스 | Lv.1 약수의 개수와 덧셈 (1) | 2022.11.23 |
댓글