Notice
Tags
- 리눅스마스터2급
- app
- pytorch
- Java
- Personal_Study
- study
- codingTest
- C
- Python
- Algorithm
- Univ._Study
- tensorflow
- c++
- 자격증
- Baekjoon
- Database_Design
- 오블완
- programmers
- Android
- Linux
- cloud_computing
- 2023_1st_Semester
- Image_classification
- 티스토리챌린지
- datastructure
- Artificial_Intelligence
- SingleProject
- Unix_System
- Operating_System
- Kubernetes
코딩 기록 저장소
[프로그래머스/Python] 행렬의 곱셈 본문
문제 정보
제목 : 행렬의 곱셈
난이도 : Lv.2
사용 언어 : Python
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12949
문제 설명
2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.
제한 사항
- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.
- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.
- 곱할 수 있는 배열만 주어집니다.
입출력 예
arr1 | arr2 | return |
[[1, 4], [3, 2], [4, 1]] | [[3, 3], [3, 3]] | [[15, 15], [15, 15], [15, 15]] |
[[2, 3, 2], [4, 2, 4], [3, 1, 4]] | [[5, 4, 3], [2, 4, 1], [3, 1, 1]] | [[22, 22, 11], [36, 28, 18], [29, 20, 14]] |
나의 풀이
3중 반복문을 통해 문제를 풀었습니다. 리스트를 생성하여 a를 통해 행렬의 곱을 구하고 저장한 뒤 list에 추가한 후 한 행의 곱셈 계산이 끝나면 answer에 list를 저장했습니다. 이 문제는 행렬에 대한 지식이 있다면 풀만한 문제였던것 같습니다.
코드
def solution(arr1, arr2):
answer = []
for i in range(len(arr1)) :
list = []
for j in range(len(arr2[0])) :
a = 0
for k in range(len(arr1[0])):
a += arr1[i][k] * arr2[k][j]
list.append(a)
answer.append(list)
return answer
'프로그래머스 > Lv.2' 카테고리의 다른 글
[프로그래머스/Python] 위장 (0) | 2023.02.01 |
---|---|
[프로그래머스/Python] 귤 고르기 (0) | 2023.02.01 |
[프로그래머스/Python] 괄호 회전하기 (0) | 2023.01.31 |
[프로그래머스/Python] [1차] 캐시 (0) | 2023.01.30 |
[프로그래머스/Python] H-Index (0) | 2023.01.30 |