티스토리 뷰

 

 

 

 

 

 

 

Link: https://programmers.co.kr/learn/courses/30/lessons/12950

 

코딩테스트 연습 - 행렬의 덧셈

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요

programmers.co.kr

 

// 문제 설명
// 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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 함수를 실행 시킨 결과를 모아서 새로운 배열 반환

 

 

링크
«   2024/11   »
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
Total
Today
Yesterday