몸과 마음이 건전한 SW 개발자

프로그래머스 Lv. 2 행렬의 곱 Python 본문

알고리즘

프로그래머스 Lv. 2 행렬의 곱 Python

스위태니 2024. 1. 3. 23:11

문제 링크

https://school.programmers.co.kr/tryouts/72051/challenges

정답 코드

def solution(arr1, arr2):
    lenColumn1 = len(arr1[0])
    lenArr1 = len(arr1)
    lenColumn2 = len(arr2[0])
    answer = [[] for _ in range(lenArr1)]
    for idx in range(lenArr1):
        nowList = arr1[idx]
        for jdx in range(lenColumn2):
            nowV = 0
            nextList = []
            for kdx in range(lenColumn1):
                nextList.append(arr2[kdx][jdx])
            
            for ldx in range(lenColumn1):
                nowV += nowList[ldx] * nextList[ldx]
            answer[idx].append(nowV)    
    return answer

풀이 방법

- 곱할 수 있는 배열만 주어지므로 말 그대로 행렬 곱을 해주면 되는 문제

느낀점

- 쉬운 문제지만 행, 열의 길이를 잘 넣어주는 것이 중요하다.