Today I Learned
[TIL] 알고리즘 코드카타_행렬
journal201
2024. 8. 12. 20:53
A. 금일 학습 내용
- 행렬 덧셈을 하는 문제였다.
def solution(arr1, arr2):
for i in range(len(arr1)):
for j in range(len(arr1[0])):
arr1[i][j] += arr2[i][j]
return arr1
B. 다른 사람 풀이
- numpy를 활용한 풀이
- 비슷하지만 다른 풀이로, numpy, pandas 문법에도 익숙해져야 할 것 같아 기록해둔다.
import numpy as np
def sumMatrix(A,B):
A_np = np.array(A)
B_np = np.array(B)
result = A_np + B_np
return result.tolist()
# return [[c + d for c, d in zip(a, b)] for a, b, in zip(A, B)]
- 가장 마음에 든 풀이이다.
- 나도 처음에 zip() 함수를 사용해보고 싶었는데, 공백만 출력되었다.
- 함수를 어떻게 하면 유연하게 적용할 수 있을까 고민해봤지만, 답은 역시 하나다.
- 더 많은 문제를 풀어보고, 더 많은 코드를 보고, 다시 내 지식으로 만들기 위해 애써야 한다.
def sumMatrix(A,B):
answer = [[c + d for c, d in zip(a,b)] for a, b in zip(A,B)]
return answer
- 개발자는 아니지만 그래도 좋은 코드를 작성하고 싶다.