eaz_coding

[Programmers] 행렬의 곱셈 본문

eaz_algorithm

[Programmers] 행렬의 곱셈

eaz_silver 2024. 1. 3. 15:34

문제

2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.

제한 조건

  • 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
  • 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
  • 곱할 수 있는 배열만 주어집니다.

풀이

문제의 원래 의도가 numpy를 쓰는 게 아닐 수도 있겠지만,, 너무 귀찮아영,,,

numpy도 복습하면 좋으니까 ^^

행렬곱을 하고 나면 np.array는 json으로 serializable하지 않다고 나온다.

이를 해결하기 위해서 각 배열을 순차적으로 tolist()를 통해 list로 만들어준다.

 

import numpy as np

def solution(arr1, arr2):
    
    arr1 = np.array(arr1)
    arr2 = np.array(arr2)
    result = arr1 @ arr2
    answer = []
    
    for i in result:
        answer.append(i.tolist())
    
    return answer