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

최지나·2023년 10월 11일
2

코딩테스트

목록 보기
31/154

문제

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

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

입출력 예

arr1arr2return
[[1,2],[2,3]][[3,4],[5,6]][[4,6],[7,9]]
[[1],[2]][[3],[4]][[4],[6]]

문제 출처

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

생각

  • 기본적인 이차원 덧셈이니 for문을 두 번 돌면서 배열의 각 원소를 더해주면 되겠다

코드

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;
    }
}

다른 사람의 풀이

  • 간단한 문제이지만 기록하는 이유는 바로 이 다른 사람의 풀이 때문이다
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;
    }
}
  • 아예 answer에 두 배열 중 하나를 할당해버리고 나머지 배열의 원소를 더해가는 풀이었다.
  • 다른 사람의 풀이를 보면 왜 나는 이런 생각을 못했지 🥲🥲 라는 생각이 들기도 하지만 다른 사람의 풀이들을 열심히 보면서 다양하게 생각하는 방법을 배울 것이다,,!
profile
의견 나누는 것을 좋아합니다 ლ(・ヮ・ლ)

0개의 댓글