728x90
반응형
1. 문제 설명
2. 풀이과정
- 먼저 모든 행렬의 값이 0인 결과 행렬을 생성한다. 행렬의 곱셈 결과는 앞 행렬의 행의 개수 for i in range(len(arr1))
- 행별로 값을 저장할 리스트를 생성한다. li = []
- 뒤 행렬의 열의 개수로 결과가 반환된다. for _ in range(len(arr2[0])): li.append(0)
- 행별로 열의 값을 저장한 리스트를 추가한다. answer.append(li)
- 행렬의 곱셈을 하기 위해선 3중 for문이 필요하다. 결과의 위치 원소에 대한 결과는 앞 행렬의 행별로, 뒤 행렬의 열별로 각 위치를 곱하고 그 값을 더해주면 된다.
- 앞 행렬의 행의 위치에 대한 for 문 for row in range(len(arr1))
- 뒤 행렬의 열의 위치에 대한 for 문 for col in range(len(arr2[0]))
- 곱할 위치에 대한 for 문 for i in range(len(arr2))
- 각 위치별 값을 곱하여 해당 위치의 값에 더해준다. answer[row][col] += arr1[row][i] * arr2[i][col]
반응형
3. 소스코드
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
li = []
for _ in range(len(arr2[0])):
li.append(0)
answer.append(li)
for row in range(len(arr1)):
for col in range(len(arr2[0])):
for i in range(len(arr2)):
answer[row][col] += arr1[row][i] * arr2[i][col]
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 튜플 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
---|---|
[프로그래머스] 과일 장수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
[프로그래머스] 의상 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.22 |
[프로그래머스] [1차] 캐시 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.19 |
[프로그래머스] 폰켓몬 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.18 |
[프로그래머스] 명예의 전당(1) - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.18 |
[프로그래머스] n^2 배열 자르기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.16 |
[프로그래머스] H-Index - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.16 |