문제
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요
제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
- 곱할 수 있는 배열만 주어집니다.
입출력 예
내 풀이
def solution(arr1, arr2):
# 답으로 낼 answer의 리스트 만들기
anser = [[0] * len(arr2[0]) for _ in range(len(arr1))]
#arr1의 행(hor)이랑 열(ver) 갯수를 알아보자
hor=len(arr1)
ver=len(arr2[0])
for i in range(hor): #행 번호 할당
for j in range(ver): #열 번호 할당
tmp=0
#arr1의 행 번호 전체랑 arr2의 열 번호 전체가 곱해지고 더해진다.
for k in range(len(arr2)):
# print(arr1[i][k],"*",arr2[k][j])
tmp+=arr1[i][k]*arr2[k][j]
answer[i][j]=tmp
return answer
필요 개념
2차원 리스트 만들기
[[0] * k for _ in range(n)]
'알고리즘' 카테고리의 다른 글
파이썬 구현 코드 암기용 (0) | 2025.02.24 |
---|---|
[프로그래머스/Python] 소수 찾기 (0) | 2024.04.07 |
[인프런-파이썬 알고리즘 문제풀이 입문] 회문 문자열 검사 (0) | 2024.04.07 |
[프로그래머스/Python] 제일 작은 수 제거하기 (0) | 2024.04.07 |
[백준 2941-Python] 크로아티아 알파벳 (0) | 2024.04.02 |