문제 05 행렬의 곱셈
2차원 행렬 arr1과 arr2를 입력받아 arr1에 arr2를 곱한 결과를 반환하는 solution()함수를 완성하세요.
def solution(arr1, arr2):
answer = [[]]
r1, c1 = len(arr1), len(arr1[0])
r2, c2 = len(arr2), len(arr2[0])
answer = [[0]*c2 for _ in range(r1)]
# C2 길이의 0을 가진 배열만큼 r1행
for i in range(r1):
for j in range(c2):
# 두 행렬의 데이터를 곱해 결과 리스트에 더해줌
for k in range(c1):
answer[i][j] += arr1[i][k]*arr2[k][j]
return answer
answer = [[0]*c2 for _ in range(r1)]
이 부분은 아래 추가로 예시를 몇개 더 써봤다.
아래 부분은 행렬 곱셈할때 그냥 외워서 써야할듯하다.
for k in range(c1):
answer[i][j] += arr1[i][k]*arr2[k][j]
'프로그래밍 이야기 > 파이썬 코딩 테스트 스터디' 카테고리의 다른 글
파이썬 코딩테스트 스터디 3주차 #1 - 스택 개념 / 정의 (0) | 2024.07.06 |
---|---|
파이썬 코딩테스트 스터디 2주차 #7 - 문제 06 실패율 (0) | 2024.07.03 |
파이썬 코딩테스트 스터디 2주차 #5 - 문제 04 모의고사 - 수포자 (0) | 2024.06.14 |
파이썬 코딩테스트 스터디 2주차 #4 - 문제 03 두 개 뽑아서 더하기 (0) | 2024.06.09 |
파이썬 코딩테스트 스터디 2주차 #3 - 몸풀기 문제 (0) | 2024.06.08 |