프로그래머스

[프로그래머스_Level1] 행렬의 덧셈

빙수빈수 2021. 7. 10. 14:54

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

 

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

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

programmers.co.kr

[문제]

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

 

[제한 조건]

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

 

[코드]

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


[고찰]

 처음에는 answer 행렬의 행과 열을 모두 같은 크기로 초기화 하여 배열의 인덱스 초과 오류가 떴었다. 만약 arr1과 arr2가 1X2크기라면 행의 크기는 1, 열의 크기는 2로 초기화 해줘야 한다. 따라서 answer 배열의 크기 선언 부분만 주의한다면 쉽게 해결할 수 있는 문제였다.