Notice
Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JS 숫자
- JS 형변환
- JS classList
- JS redirection
- JS setInterval
- HTML기초
- JS append
- JS 화살표함수
- JS 타이머기능
- JS value속성
- JS appendChild
- JS preventDefault
- JS typeof연산자
- JS 스코프
- CSS기초
- JS 삼항연산
- JS clearInterval
- JS form
- JS 연산
- git 협업셋팅
- JS null undefined
- JS 기초
- JS form action
- JS 함수
- CSS속성정리
- JS 데이터타입
- JS prompt
- JS localStorage
- js 변수
- JS setTimeout
Archives
공부기록용
프로그래머스(LV 1. 행렬의 덧셈) 본문
LV 1. 행렬의 덧셈
https://school.programmers.co.kr/learn/courses/30/lessons/12950
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
- arr1 = arr1
- arr2 = [[3,4],[5,6]]
- return = [[4,6],[7,9]]
<해결>
> 중첩배열에서 요소 꺼내기 arr.[ ][ ]function solution(arr1, arr2) { var answer = []; for (let i = 0; i < arr1.length; i++) { let sum = []; for (let j = 0; j < arr2.length; j++) { sum.push(arr1[i][j] + arr2[i][j]) } answer.push(sum); } return answer; } console.log(solution([[1,2],[2,3]], [[3,4],[5,6]]))
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;
}
🔴배운거
> .map()
> map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다.
(배열의 각 요소에 대해 실행한 callback함수의)arr.map(callback(currentValue[, index[, array]])[, thisArg])
callback: 새로운 배열 요소를 생성하는 함수. 다음 세 가지 인수를 가진다.
*currentValue: 처리할 현재 요소
*index(선택사항): 처리할 현재 요소의 인덱스
*array(선택사항): map()을 호출한 배열
thisArg(선택사항): callback을 실행할 때 this로 사용되는 값var numbers = [1, 4, 9]; var doubles = numbers.map(function(num) { return num * 2; }); // doubles는 이제 [2, 8, 18] // numbers는 그대로 [1, 4, 9]
function sumMatrix(A, B) { return A.map((a, i) => a.map((b, j) => b + B[i][j])); }
> arr1(2중 배열)의 각 행(배열)을 a라고 하고, 또 그 a(배열)의 각 요소를 b라고 하고,
> 각 b에 arr2(2중 배열)의 각 요소를 더해주면 된다
'✍️문제풀기✍️ > JS_Programmers school' 카테고리의 다른 글
프로그래머스(LV 1. 문자열 내 p와 y의 개수) (0) | 2023.06.19 |
---|---|
프로그래머스(LV 1. 내적) (0) | 2023.06.19 |
프로그래머스(LV 1. 평균구하기) (0) | 2023.06.19 |
프로그래머스(LV 1. 직사각형 별찍기) (0) | 2023.06.19 |
프로그래머스(LV 1. 나누어 떨어지는 숫자 배열) (0) | 2023.06.17 |
Comments