해당 문제는 두 배열이 존재할 때 두 배열의 곱이 가장 작아지는 값을 도출하는 문제로 쉬운 난이도에 속하는 문제다.
다만 문제를 풀 때 lambda함수를 사용하여 코드를 간단히 하기 위해 노력했다.
list(map(lambda x,y : x*y, A,B))형식으로 코드를 구현해 for문을 사용하지 않고 깔끔하게 작성했다.
우선 A는 오름 차순 정렬. B는 내림차순 정려하면 각 인덱스에는 가장 작은값과 가장 큰값이 매칭 될 수 있도록 설정 후 위의 람다 함수를 활용해 각 배열의 곱을 S 배열에 저장 후 이를 sum 하는 방식으로 코드를 구현했다.
n = int(input())
A = list(map(int,input().split()))
B = list(map(int,input().split()))
A.sort()
B.sort(reverse=True)
S = list(map(lambda x,y: x*y,A,B))
print(sum(S))