728x90
Description.
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬의 덧셈의 결과를 반환하는 함수 solution을 완성해주세요.
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
function solution(arr1, arr2) {
var answer = [[]];
return answer;
}
Solution.
2차원 배열을 for문을 돌려 2개의 배열을 같은 인덱스끼리 더해주는 방식으로 진행하여, 더한 값을 temp라는 배열에 넣어주고, temp에 담긴 배열을 다시 answer에 넣어서 반환해주었음.
function solution(arr1, arr2) {
var answer = [];
for (let i=0; i < arr1.length; i++) { // [1,2][2,3]
var temp = [];
for (let j=0; j < arr1[i].length; j++) { // arr1 안의 배열의 길이 (2번)
temp.push(arr1[i][j] + arr2[i][j]); // 1번째 1+3, 2번째 2+4 / 3번째 2+5, 4번째 3+6
}
answer.push(temp);//[4,6][7,9]
}
return answer;
}
* 다른 사람의 풀이 - 임시 배열을 변수에 선언하지 않았을 뿐, 기본적인 방법은 동일한 것으로 보여진다.
그런데 만약 제출된 문제를 손대지 않고 코드를 추가하는 것으로만 진행해야 했다면 아래의 답이 더 정답에 가까울 것이라고 생각한다.
function solution(arr1, arr2) {
var answer = [[]];
for (var i=0; i<arr1.length; i++){
answer[i] =[];// [1,2][2,3]
for(var j=0; j<arr1[i].length; j++){
answer[i].push(arr1[i][j] + arr2[i][j]);
}
}
return answer;
}
'1Day 1Practice' 카테고리의 다른 글
[codewars] Isograms (0) | 2022.06.10 |
---|---|
[codewar] Replace With Alphabet Position (0) | 2022.06.09 |
[codewars] Persistent Bugger (0) | 2022.05.19 |
[Programmers] x만큼 간격이 있는 n개의 숫자 (0) | 2022.02.21 |
[Programmers] 직사각형 별찍기 (0) | 2022.02.21 |