프로그래머스/코딩테스트 Lv. 2

행렬의 곱셈 - Python

아몬드바 2023. 9. 26. 21:25
728x90

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

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


입출력 예

 

문제해결과정

1. 실제로 행렬곱셈하는 것처럼 인덱스를 기입하면서 하나하나씩 해본다. 이후 그걸 for문으로 구현한다.


def solution(arr1, arr2):
    answer = []
    for i in range(len(arr1)):
        temp = []
        for j in range(len(arr2[0])):
            sum = 0
            for k in range(len(arr1[0])):
                sum += (arr1[i][k] * arr2[k][j])
            temp.append(sum)
        answer.append(temp)

    return answer
728x90

'프로그래머스 > 코딩테스트 Lv. 2' 카테고리의 다른 글

N-Queen - Python  (0) 2023.09.29
JadenCase 문자열 만들기 - Python  (0) 2023.09.27
하노이의 탑 - Python  (0) 2023.09.26
최솟값 만들기  (0) 2023.09.25
최댓값과 최소값  (0) 2023.09.25