-
항해2주차 자바스크립트 프로그래머스 - 행렬의 덧셈항해 프로그래머스 2023. 1. 27. 16:33
나의 풀이
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; } // 각 행과 열을 for문을 돌리고 행은 행끼리, 열은 열끼리 합친다.
5번째 줄에 for(var j=0; j<arr1[i].length; j++) 중에서 arr1[i] 왜 i가 들어갈까 생각해봤는데
문제 설명중 '행과 열의 크기가 같은 행렬' 이라고 써있다.
그러니까 j가 i의 전체길이전까지 돌아야 i에서 설정한 길이값과 맞게 나올테니까.
이중for문을 돌려서 각 0인덱스0번째요소, 0인덱스1번째요소, 1인덱스0번째요소..등등 더해준다.
첫번째 for문에서 빈 배열을 만들어서 두번째 for문때 그 배열에 push한다.더해진 배열은 answer 배열에 push해주는 것을 반복하면 정답이 반환된다.
다른 풀이
Map 이용 이해X
function sumMatrix(A,B){ return A.map((a,i) => a.map((b,j) => b + B[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])); }
const matrixAddition = (matrix1, matrix2) => matrix1.map((row, y) => row.map((v, x) => v + matrix2[y][x])); function solution(arr1, arr2) { return matrixAddition(arr1, arr2); }
function sumMatrix(A,B){ return A.map(function(v,i){ return (typeof(v)=="object")? sumMatrix(v,B[i]):v+B[i]; }); }
function solution(arr1, arr2) { const answer = []; arr1.forEach((arr, i) => answer.push(arr.map((v, j) => v + arr2[i][j]))); return answer; }
function sumMatrix(A,B){ return A.map((a,i) => a.map((b,j) => A[i][j] + B[i][j])) }
function sumMatrix(A,B){ var answer = Array(A.length); for(var i=0; i<A.length; i++) { answer[i] = Array(A[0].length); for(var j=0; j<A[0].length; j++) { answer[i][j] = A[i][j] + B[i][j]; } } return answer; }
'항해 프로그래머스' 카테고리의 다른 글
항해2주차 자바스크립트 프로그래머스 - 핸드폰 번호 구하기 (0) 2023.01.27 항해2주차 자바스크립트 프로그래머스 - 평균 구하기 (0) 2023.01.27 항해2주차 자바스크립트 프로그래머스 - 음양 더하기 (0) 2023.01.27 항해2주차 자바스크립트 프로그래머스 - 없는 숫자 더하기 (0) 2023.01.27 항해2주차 자바스크립트 프로그래머스 - 문자열을 정수로 바꾸기 (0) 2023.01.27