문제
최솟값 만들기
- A, B 두 개의 배열이 주어질 때 A와 B 배열에서 각각 하나의 요소를 뽑아 곱한 후, answer 변수에 누적해서 더한 값이 최소가 되는 answer 값을 구하라
- 단, 한 번 선택되어 곱해진 숫자는 다시 선택될 수 없다.
아이디어
- A 배열의 최솟값과 B 배열의 최댓값을 차례로 선택해 곱하고, 해당 값을 answer 변수에 더해줘야 한다고 생각했다.
- 따라서 A 배열은 오름차순으로, B 배열은 내림차순으로 정렬한 후 각 배열의 동일한 인덱스 번호를 가지는 요소의 곱을 더하였다.
코드
def solution(A,B):
answer = 0
A.sort()
B.sort(reverse = True)
for i in range(len(A)):
answer += A[i]*B[i]
return answer
실행 결과