[programmers] 프로그래머스 Level2 행렬의 곱셈
(파이썬 Python)
* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제
1) 문제
2) 풀이 과정
X
< < 사고 과정 > >
X
3) 코드
(1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)):
answer.append([])
for j in range(len(arr2[0])):
sum = 0
for k in range(len(arr1[i])):
sum += arr1[i][k] * arr2[k][j]
answer[i].append(sum)
return answer
|
cs |
(2) Numpy 사용
1
2
3
4
5
6
7
8
9
|
import numpy as np
def solution(arr1, arr2):
arr1 = np.array(arr1)
arr2 = np.array(arr2)
answer = np.dot(arr1,arr2)
return answer.tolist()
|
cs |
* 코테가 목적이라면 numpy 사용은 추천하지 않는다.
4) 정리 노트
파이썬에는 강력한 행렬 연산 도구가 있다.
바로 numpy라는 외부 라이브러리 이다.
표준 파이썬 라이브러리가 아니기 때문에, 본인이 코딩테스트가 목적이라면 numpy라는 툴을 이용하기 보다. 그냥 numpy라는 개념자체만 알고 있는걸 추천한다.
'*Algorithm > Programmers_Level2' 카테고리의 다른 글
[programmers] 프로그래머스 Level2 카펫(파이썬 Python) (0) | 2021.05.09 |
---|---|
[programmers] 프로그래머스 Level2 타겟 넘버 (파이썬 Python) (0) | 2021.04.24 |
[programmers] 프로그래머스 Level2 다음 큰 숫자(파이썬 Python) (0) | 2020.11.18 |
[programmers] 프로그래머스 Level2 피보나치 수(파이썬 Python) (0) | 2020.11.17 |
[programmers] 프로그래머스 Level2 올바른 괄호(파이썬 Python) (0) | 2020.11.16 |
댓글