happy318
팽도리블로그
happy318
전체 방문자
오늘
어제
  • 전체글 (252)
    • 공부 (5)
      • Algorithm 정리 (0)
      • 논문리뷰 (1)
      • C++ (2)
      • Python (2)
      • Java (0)
      • Back-end (0)
      • Front-end (0)
      • Embedded (0)
    • 코딩테스트 (218)
      • Python 문제풀이 (100)
      • C++ 문제풀이 (108)
      • Python template (9)
      • C++ template (1)
    • 일상 (20)
      • 맛집 (13)
      • 쇼핑 (5)
      • 아무 일상 (2)
    • 게임 (9)
      • 메이플스토리 (9)

최근 글

인기 글

hELLO · Designed By 정상우.
happy318

팽도리블로그

코딩테스트/Python template

행렬의 곱셈

2022. 7. 8. 14:01
# 두 행렬 A,B를 곱해서 결과를 return한다
# input format은 [[1,2,3]],[[1],[2],[3]] 와 같이 곱할 두 행렬을 넣어주면 된다.
# 만약 곱셈이 불가능한 경우 assertion에 걸린다.

def multiple_matrix(A,B):
    # find dimension (row -> m, column -> n)
    m_A = len(A)
    n_A = len(A[0])
    m_B = len(B)
    n_B = len(B[0])
    assert(n_A == m_B)
    # return matrix
    return_matrix = [[] for _ in range(m_A)]
    tmp = list(zip(*B))

    for i in range(m_A):
        for j in range(n_B):
            return_matrix[i].append(sum(map(lambda x : x[0] * x[1], zip(A[i], tmp[j]))))
    return return_matrix
    
# print(multiple_matrix([[1,2,3]],[[1],[2],[3]]))
반응형

'코딩테스트 > Python template' 카테고리의 다른 글

N*N 행렬의 제곱  (0) 2022.07.08
DP factorial  (0) 2022.06.29
인접 list graph 중복 제거  (0) 2022.06.28
Bellman ford (벨만포드)  (0) 2022.06.25
거듭제곱 분할정복  (0) 2022.06.24
    '코딩테스트/Python template' 카테고리의 다른 글
    • N*N 행렬의 제곱
    • DP factorial
    • 인접 list graph 중복 제거
    • Bellman ford (벨만포드)
    happy318
    happy318

    티스토리툴바