채린씨의 티스토리
[Programmers] Level1 - 행렬의 덧셈(JavaScript) 본문
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
입출력 예
arr1 | arr2 | return |
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
나의 풀이
2중 for문을 사용해서 간단히 풀 수 있다.
function solution(arr1, arr2) {
var answer = [];
for (let i = 0; i < arr1.length; i++) {
let ans_row = [];
for (let j = 0; j < arr1[0].length; j++) {
ans_row.push(arr1[i][j] + arr2[i][j]);
}
answer.push(ans_row);
}
return answer;
}
좋았던 다른 사람의 풀이
처음에는 엥.. 이게 뭐야.. 했지만, 1분 정도 들여다보고 오!! 와!! 했던 풀이!! A(2중 배열)의 각 행(배열)을 a라고 하고, 또 그 a(배열)의 각 요소를 b라고 하고, 각 b에 B(2중 배열)의 각 요소를 더해주면 됨!! .map이 꽤나 유용한 메서드인 것 같다! https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/map
function sumMatrix(A, B) {
return A.map((a, i) => a.map((b, j) => b + B[i][j]));
}
프로그래머스 문제들의 자바스크립트 풀이가 궁금하신가요? 아래 링크를 클릭해보세요!
https://programmers-solution-bank.netlify.app/
'코딩테스트 대비' 카테고리의 다른 글
[Programmers] Level1 - 하샤드 수(JavaScript) (0) | 2022.04.01 |
---|---|
[Programmers] Level1 - 핸드폰 번호 가리기(JavaScript) (0) | 2022.04.01 |
[Programmers] Level1 - 완주하지 못한 선수(JavaScript) (0) | 2022.03.22 |
[Programmers] Level1 - x만큼 간격이 있는 n개의 숫자(JavaScript) (0) | 2022.03.22 |
[Programmers] Level1 - 직사각형 별찍기(JavaScript) (0) | 2022.03.22 |
Comments