문제 설명 및 입출력 예시
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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 < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
answer[i][j] = arr1[i][j] + arr2[i][j];
}
}
return answer;
}
}
int[][] answer의 크기를 int[arr1.length][arr1[0].length]로 지정해준다.
그다음에 이중포문을 돌며 값을 더해준다.
회고
이중배열이 나와서 상당히 당황했다
arr1.length는 arr1[][]의 전체 길이가 나오므로 2인 게 당연하다 (0부터 시작이면 1이지)
그러니까 arr1[0].length라고 적어야 되는 게 당연하다.
그냥 적으면 값이 두배가 되므로 첫 번째 배열의 개수를 적어야 된다.
처음에 openjdk 64-bit server vm warning 이런 에러가 떴다.
뭐지 싶어서 검색을 하다가 그냥 포기하고 여러번 시도해봤더니 그냥 내가 코드 자체를 잘못 짜서 그런 거였다ㅋㅋ
💻프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12950
'실력 향상 일지 > 프로그래머스' 카테고리의 다른 글
[Java] 부족한 금액 계산하기 (0) | 2022.11.09 |
---|---|
[Java] 약수의 개수와 덧셈 (0) | 2022.11.04 |
[Java] 문자열 다루기 기본 (0) | 2022.11.01 |
[Java] 문자열 내림차순으로 배치하기 (0) | 2022.10.31 |
[Java] 내적 (0) | 2022.10.30 |