본문 바로가기

알고리즘 & 코딩테스트/코딩테스트

Programmers Lv.1 "내적"

Programmers Lv.1 내적, 월간코드 챌린지 시즌1, 정답률 82%

내적(dot-product)에 대한 수식이 주어지고 이를 그대로 구현하면 되는 문제이다.
리스트 a, b가 주어지고 각 index에 해당하는 값들을 서로 곱해서 총합을 구하면 된다.
즉, 전에 포스팅에서 언급했듯 병렬처리를 하면 쉽게 해결할 수 있고, zip( )을 사용하면 바로 해결된다.
그렇지만 이번에는 Python의 numpy 라이브러리를 이용한 풀이를 소개해보겠다.
먼저 numpy에 대해 소개하면, numpy는 리스트를 행렬로 취급하여 처리하는 수학에 대한 처리 라이브러리이다.
또한 내적(dot-product)이 내장 메서드로 포함되어있어 쉽게 해결할 수 있다.

import numpy as np

def solution(a, b):
    a = np.array(a)
    b = np.array(b)
    return a.dot(b).tolist()