Back to all posts
행렬의 덧셈
Written by ppotatoG & Posted on November 17th, 2021
처음 제출한 답
각 arr
에 길이를 비교해 더했다
배열에 길이만큼 답도 달라져서...!
이렇게 하면 테스트부터 틀린당ㅋㅋ
function solution(arr1, arr2) {let answer = [[], []];for(let i = 0; i < arr1.length; i++){if(arr1[0].length > 1){for(let j = 0; j < arr1[i].length; j++){answer[i].push(arr1[i][j] + arr2[i][j]);}}else {answer[i].push(arr1[i] + arr2[i]);}}return answer;}
두번째 제출한 답
단순이 중복문이 문제라 생각했던 나는 꾸역꾸역 map으로 바꿈
역시나 안됨!
function solution(arr1, arr2) {return [...arr1].map((cur, idx) => {if(arr1[0].length === 1) return Number(arr1[idx]) + Number(arr2[idx]);else return [...arr2].map((cur2, idx2) => {return arr1[idx][idx2] + arr2[idx][idx2];}, 0);}, 0);}
일주일정도 더 고민하다가 결국 구글링찬스로 풀었다
최근 보충한 답
받아올 배열 깊은복사
이중 반복문으로 값을 더해준 후 깊은복사 한 배열에 값 추가해주기
function solution12950(arr1, arr2) {let arr = [...arr1];// 받아올 함수와 같은 배열 만들어주기for(let i = 0; i < arr1.length; i++){for(let k = 0; k < arr1[i].length; k++) {// 배열 내 배열을 돌며 더해준 값을 넣어주기arr[i][k] = arr1[i][k] + arr2[i][k];}}return arr;}