1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 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 함수를 사용하면 된다.
'1일 1문제, 프로그래머스' 카테고리의 다른 글
프로그래머스, 레벨3, 야근지수(못품) (0) | 2018.08.02 |
---|---|
프로그래머스, 레벨3, 가장 긴 펠린드롬 (0) | 2018.07.31 |
프로그래머스, 레벨3, 2*n 타일링 (0) | 2018.07.26 |
프로그래머스, 레벨3) 줄세우기 (0) | 2018.07.23 |
프로그래머스, 레벨3, 하노이의 탑 (0) | 2018.07.16 |