(Python, Java) 프로그래머스 - 행렬의 덧셈

[문제 링크]

Python 풀이

def solution(arr1, arr2):
    row = len(arr1)
    column = len(arr1[0])
    answer = [[] for _ in range(row)]

    for i in range(row):
        for j in range(column):
            answer[i].append(arr1[i][j] + arr2[i][j])

    return answer

Python 풀이 2

import numpy

def solution(arr1, arr2):
    answer = numpy.array(arr1) + numpy.array(arr2)
    return answer.tolist()

numpy를 사용하면 행렬 연산을 쉽게 할 수 있다.

Python 풀이 3

def solution(arr1, arr2):
    return [[a + b for a, b in zip(x, y)] for x, y in zip(arr1, arr2)]

zip을 사용해도 간단하게 풀 수 있다.

Java 풀이

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

© 2021. By Backtony