문제
https://school.programmers.co.kr/learn/courses/30/lessons/12949
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
주요 아이디어
행렬을 전치하는 것이 이번 문제의 핵심이다.
numpy 라이브러리를 사용하면 메서드를 통해 굉장히 쉽게 전치가 가능하지만.. 순정 파이썬으로도 리스트 전치를 쉽게 할 수 있는 방법에 대해 숙지하과 가자.
arr_T = list(map(list, zip(*arr)))
코드 구현 (Python 3)
더보기
def solution(arr1, arr2):
answer = []
# list transpose
arr2 = list(map(list, zip(*arr2)))
for i, a1 in enumerate(arr1):
tmp = []
for j, a2 in enumerate(arr2):
tmp.append(sum([a1[i] * a2[i] for i in range(len(a1))]))
answer.append(tmp)
return answer
제출 결과
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 키패드 누르기 (0) | 2024.05.21 |
---|---|
[프로그래머스] 폰켓몬 (0) | 2024.05.21 |
[프로그래머스] 징검다리 건너기 (0) | 2024.05.21 |
[프로그래머스] 문자열 다루기 기본 (0) | 2024.05.21 |
[프로그래머스] 가장 먼 노드 (0) | 2024.05.21 |