https://school.programmers.co.kr/learn/courses/30/lessons/12941
def solution(A,B):
sum = 0
A = sorted(A)
B = sorted(B, reverse=True)
for i in range(len(A)):
sum += A[i] * B[i]
return sum
A 리스트에서는 최댓값, B리스트에는 최솟값끼리 곱해나가면 된다.
최적화를 위해 미리 정렬을 한 뒤에 진행하면 좋다.
import numpy as np
def solution(A,B):
return int(np.dot(np.array(sorted(A)), np.array(sorted(B, reverse=True)).T))
numpy의 dot() 행렬곱 연산을 활용해도 된다.