728x90
Overview
- 체감 난이도: ★☆☆☆☆
- 문제 레벨: Lv.2
- 문제 유형: 구현
- 풀이 상태: 답안참고 / 스스로 해결
- 추후: 다시 풀어보기 / 간단 복습 / 완벽 이해
[문제]
https://school.programmers.co.kr/learn/courses/30/lessons/12949
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[코드]
(처음 풀이한 코드)
def solution(A, B):
answer = []
for i in range(len(A)):
row = []
for j in range(len(B[0])):
tmp = 0
for k in range(len(A[0])):
tmp += A[i][k] * B[k][j]
row.append(tmp)
answer.append(row)
return answer
(다른 방법의 코드)
list comprehension
def solution(A, B):
return [[sum(a * b for a, b in zip(row, col))
for col in zip(*B)]
for row in A]
map, zip
def solution(A, B):
return list(map(
lambda row: list(map(
lambda col: sum(map(lambda x: x[0] * x[1], zip(row, col))),
zip(*B)
)),
A
))
NumPy
import numpy as np
def solution(A, B):
return np.dot(A, B).tolist()
반응형
'🚩 Coding Test > Programmers' 카테고리의 다른 글
[Programmers][Python] Lv.2 n² 배열 자르기 (1) | 2024.11.29 |
---|---|
[Programmers][Python] Lv.2 멀리 뛰기 (0) | 2024.11.29 |
[Programmers][Python] Lv.2 구명보트 (0) | 2024.11.29 |
[Programmers][Python] Lv.2 더 맵게 (1) | 2024.11.04 |
[Programmers][Python][PCCP 모의고사 1회] 외톨이 알파벳 (0) | 2024.11.01 |