1차 공부/알고리즘

행렬더하기

공대탈출 2022. 11. 22. 21:41
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다.
2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

 

제한 조건
행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

 

 

function solution(arr1, arr2) {
    var answer = [];
    for (let i =0; i<arr1.length; i++){ //각 배열의 0번인덱스부터 더하기 위한 for문
        let arr = []    //arr을 비운 뒤 answer에 push해야 새로운 값을 넣을 수 있음.
        for(let j=0; j<arr1[i].length; j++){    
        //j가 입력배열의 [i]까지 증가해야 배열속 배열들의 합을 구할 수 있음
            arr.push(arr1[i][j] + arr2[i][j]) //빈배열에 행렬 합 입력
        }
        answer.push(arr)
    }
    
    return answer;
}

 

 

function solution(arr1, arr2) {     
    var answer = [[]];
    for (let i =0; i<arr1.length; i++){
        let arr = []
        for(let j=0; j<arr1.length; j++){                //여기 최종값 틀림
            arr.push(arr1[i][j] + arr2[i][j])
        }
        answer.push(arr[i])                              //arr은 i for문 에서 초기화 되는데 [i]를 넣으면 안됨....
    }
    
    return answer;
}

행렬합이 헷갈려서 내부 반복문의 최종값을 틀리게 설정했다.

answer에 push하는 값도 틀렸다.

 

첫 코드를 작성하고 이리저리 고쳐보다가 결국 다른 사람이 푼 답안을 보았는데..

조금만 더 생각하면 풀 수 있었던 걸 작은 것들때문에 틀렸던 것이 억울했다.

 

 

'1차 공부 > 알고리즘' 카테고리의 다른 글

부족한 금액 계산하기  (0) 2022.11.23
x만큼 간격이 있는 n개의 숫자  (0) 2022.11.22
핸드폰 번호 가리기  (0) 2022.11.22
평균 구하기  (0) 2022.11.22
음양 더하기  (0) 2022.11.22