가장 큰 값과 가장 작은 값을 곱했을 때 최솟값이 될 것이다.
def solution(A,B):
answer = 0
A = sorted(A)
B = sorted(B, reverse=True)
for i in range(len(A)):
answer += A[i] * B[i]
return answer
sorted 함수를 이용해 A를 오름차순, B는 내림차순으로 정렬한다.
배열의 길이만큼 같은 인덱스끼리 곱하여 더한다.
def solution(A,B):
return sum(a*b for a, b in zip(sorted(A), sorted(B, reverse = True)))
zip 함수를 사용하여 한줄 풀이가 가능하다.