티스토리 뷰
Link: https://programmers.co.kr/learn/courses/30/lessons/12950
// 문제 설명
// 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]]
// 배열 합치기
// 배열 안의 요소의 length가 일치하는 경우에만 합칠 수 있음 if문
// arr1의 의 요소 안의 요소와 arr2의 요소 안의 요소를 합쳐서 새로운 배열 resultArr 만들기 > push
// 동일한 인덱스의 arr1 과 arr2만 병합 가능
// map > 배열의 모든 요소에 function을 실행, 보통 배열 전체의 값을 변경할 때 사용
// 원래의 배열을 변경하는 것이 아닌 새로 바뀐 배열을 반환함
// 배열을 새로 만든다면 map, 그냥 반복만 한다면 forEach
// map 메소드의 형태 > arr.map((요소, 인덱스, 배열) => {return 요소}) / 3개의 매개변수를 가짐
// 요소 > 필수 입력, 인덱스, 배열 > 선택
function solution(arr1, arr2) {
let answer = [];
for (let i = 0; i < arr1.length; i++) {
if ( arr1.length == arr2.length && arr1[i].length == arr2[i].length) {
answer.push(arr1[i].map((x, y) => arr1[i][y] + arr2[i][y]));
}
}
return answer;
}
push() 메소드
- 형태: arr.push(element)
- 배열의 끝에 한 개 이상의 element를 추가하고 배열의 새로운 길이를 반환
- let x = arr.push(element) 일 때 x 는 배열 자체가 아닌 arr.length 임
map()
- 형태: arr.map(callback func(currentValue, Index(optional), array(optional)))
- 배열 내 각각의 모든 요소에 callback 함수를 실행 시킨 결과를 모아서 새로운 배열 반환
'Algorithms' 카테고리의 다른 글
[Algorithms] 프로그래머스 - 부족한 금액 계산하기 (0) | 2021.11.09 |
---|---|
[Algorithms] 프로그래머스 - x만큼 간격이 있는 (0) | 2021.11.09 |
[Algorithms] 프로그래머스 - 핸드폰 번호 가리기 (0) | 2021.11.09 |
[Algorithms] 프로그래머스 - 평균 구하기 (0) | 2021.11.09 |
[Algorithms] 프로그래머스 - 음양 더하기 (0) | 2021.11.09 |