728x90
1 단계 알고리즘에 대해 알아보자!
Q. 행렬의 덧셈
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 사항
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
입출력 예
arr1 | arr2 |
result |
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
solution.js
function solution(arr1, arr2) {
var answer = [];
for(let i = 0;i < arr1.length;i++){
var sum = [];
for(let j = 0; j < arr1[0].length;j++){
sum.push(arr1[i][j]+arr2[i][j])
}
answer.push(sum)
}
return answer;
}
var sum = [ ]; 의 위치를 바꾸면 정답이 제대로 출력되지 않는다.
다른 사람의 풀이
function sumMatrix(A,B){
return A.map((arr1, idx1) => arr1.map((val, idx2) => val+B[idx1][idx2]));
}
처음엔 나도 map으로 풀려다가 값이 undefined로 뜨길래 결국 이중 for문을 사용하는 방안으로 바꿨다.
위 풀이처럼 map으로 코드를 단순화 할 수 있도록 노력하자.
728x90
반응형
'TIL > 알고리즘' 카테고리의 다른 글
아주 쉬운 알고리즘 - 종이 자르기 (0) | 2023.03.06 |
---|---|
조금 어려운 알고리즘 - 직사각형 별찍기 (0) | 2023.03.06 |
아주 쉬운 알고리즘 - 편지 (0) | 2023.03.03 |
아주 쉬운 알고리즘 - 중앙값 구하기 (0) | 2023.03.03 |
아주 쉬운 알고리즘 - 배열 자르기 (0) | 2023.03.03 |
댓글