[문제설명]
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]] |
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr1[0].length];
for(int i=0; i<answer.length; i++) {
for(int j=0; j<answer[i].length; j++) {
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}
행렬 곱셈 문제를 학기 중에 c언어로 푼 적이 있는데,
덧셈이 좀 더 쉬운 듯 싶다. 곱셈이 지금 기억이 잘 안나서 Java로 한 번 더 풀어봐야겠다.
처음에 2차원 answer 배열의 선언을 int[arr1.length][arr1.length] 이런식으로 해서
자꾸 오류가 났었는데,
행은 arr1.length, 열은 arr1[0].length -> 이런식으로 행렬 크기를 설정해줘야 한다.
그 외에 덧셈하는 과정은 코드가 간단해서 보면 쉽게 이해할 수 있을 것 같아 설명을 생략한다.
'Algorithm > Programmers' 카테고리의 다른 글
| Programmers / Level 1 / 완주하지 못한 선수 (*Hash 알고리즘) (0) | 2022.06.29 |
|---|---|
| Programmers / Level 1 / K번째수 (0) | 2022.06.27 |
| Programmers / Level 1 / 같은 숫자는 싫어 (0) | 2022.06.27 |
| Programmers / Level 1 / 자연수 뒤집어 배열로 만들기 (0) | 2022.06.27 |
| Programmers / Level 1 / 숫자 문자열과 영단어 (0) | 2022.06.27 |