1일 1문제, 프로그래머스
프로그래머스, 레벨2) 행렬의 곱셈
Hoguz
2018. 7. 26. 15:04
def solution(A, B): gop = 0 result = 0 an=[] for k in range(2): answer=[] for i in range(0,2): result = 0 for j in range(0,2): gop = (A[k][j]*B[j][i]) result = result + gop answer.append(result) an.append(answer) return an # 아래는 테스트로 출력해 보기 위한 코드입니다. a = [ [ 1, 2 ], [ 2, 3 ]]; b = [[ 3, 4], [5, 6]]; print("결과 : {}".format(productMatrix(a,b))); # 위는 과거 내 코드이고(약 1년전) 아래는 현재 내 코드이다 def solution(lst, alst): ans = [[0] * len(alst[0]) for i in range(len(lst))] print(ans) for i in range(len(lst)): for k in range(len(lst[i])): print("first lst" , lst[i][k]) for j in range(len(alst[k])): ans[i][j] += lst[i][k] * alst[k][j] return ans
주어진 행렬을 곱해서 결과를 내는 문제이고 작년에 이미 한번 풀었던 문제이다.
새삼 다시 푸니 다른 느낌이고 무엇보다 많이 발전? 한것 같다
저 코드를 더 쉽게 하기위해선 zip 함수를 사용하면 된다.