문제 설명 |
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. |
제한 조건 |
|
입출력 예 |
||
arr | arr2 | return |
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
나의 풀이
1. arr1 배열의 크기만큼 answer 배열을 선언한다.
2. arr1과 arr2의 2차 배열의 합을 구하고 1차 배열의 크기를 올려 계속 합을 구해 저장한다.
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr1[0].length]; // 2차 배열 크기 구하기
for (int i=0; i<arr1.length; i++)
for (int j=0; j<arr1[0]; j++)
answer[i][j] = arr1[i][j] + arr2[i][j];
return answer;
}
}
* 다차원 배열 길이 = arr.length / arr[0].length
오랜만에 보니 나도 헷갈린다. 특히 2중 for문에 2차 배열이니 더 머리가 복잡해 연습장을 펼쳐놓고 직접 풀어봤다. 과거의 나 존경한다 ㅠㅜ |
'프로그래머스 > Java | Level1' 카테고리의 다른 글
[프로그래머스/Java]Level1 - 2016년 (0) | 2021.01.16 |
---|---|
[프로그래머스/Java]Level1 - K번째 수 (0) | 2021.01.07 |
[프로그래머스/Java]Level1 - 핸드폰 번호 가리기 (0) | 2020.12.17 |
[프로그래머스/Java]Level1 - 평균 구하기 (0) | 2020.12.17 |
[프로그래머스/Java]Level1 - 최대공약수와 최소공배수 (0) | 2020.11.10 |