길이가 같은 두 리스트의 요소 한개씩을 뽑아 두 수를 곱한 수를 모두 더한다. 이때 가장 최솟값이 되는 방법을 찾는 문제이다.
큰수를 작은수와 곱하게 되면 가장 작은 수가 나온다고 생각했다. 그래서 한개의 리스트는 내림차순으로, 한개의 리스트는 오름차순으로 정렬한 후 각각을 곱해주었다.
def solution(A,B): answer = 0 A.sort() B.sort(reverse = True) for i,j in zip(A, B) : answer += i * j return answer
아이디어는 떠오를 때 너무 기분이 좋은 것 같다.
결과는