본문 바로가기
Java/알고리즘

[프로그래머스/알고리즘] 행렬의 덧셈 (자바/Java)

by 전재경 2022. 11. 19.

문제 설명

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

 

제한 조건

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

 

 

사실 행렬은 아직 좀 어렵다.

제대로 이해를 못하고 넘어가서인지 헷갈리는 부분이 많은것 같다.

나름의 시간을 할애해서 배웠음에도 항상 내 앞길을 가로막는다....

 

Step1. 문제분석

arr1과 arr2 두 행렬의 행과 열의 크기가 같으니 하나의 배열을 선언해서

for문을 통해 행과 열만큼 반복을 하여 그 값을 얻고

 

새로 선언한 행렬에 값을 대입하여 리턴한다.

 

 

Step2. 문제해결 코드

class Solution {
  public int[][] solution(int[][] arr1, int[][] arr2) {
		int[][] arr3 = new int[arr1.length][arr1[0].length];
		for(int i=0; i<arr1.length; i++) {
			for(int j=0; j<arr1[0].length; j++) {
				arr3[i][j] = arr1[i][j] + arr2[i][j];
			}
		}
		return arr3;
	}
}

 

Step3. 다른 사람의 풀이 코드

class Solution {
    public int[][] solution(int[][] arr1, int[][] arr2) {
        int[][] answer = {};
        answer = arr1;
        for(int i=0; i<arr1.length; i++){
            for(int j=0; j<arr1[0].length; j++){
                answer[i][j] += arr2[i][j];
            }
        }
        return answer;
    }
}

아직 행렬이 많이 약한것 같다. 어떤 느낌인지는 알겠는데 잘 이해를 못하겠다....

부족한 부분을 알았으니 더욱 잘 보며 이해하며 공부해야겠다.

댓글