유블로그

[프로그래머스] 최솟값만들기 본문

알고리즘

[프로그래머스] 최솟값만들기

yujeong kang 2021. 1. 20. 22:45

[프로그래머스] level2 최솟값만들기

 

소요시간 : 6분

 

A, B 배열을 sort 한 후

A는 인덱스를 올라가면서, B는 인덱스를 내려가면서 곱한다.

A의 최솟값과 B의 최댓값을 곱하는 것을 반복해야

전체 합이 최소가 될 수 있기 때문!

import java.util.Arrays;

class Solution {
	public int solution(int[] A, int[] B) {
		int answer = 0;

		Arrays.sort(A);
		Arrays.sort(B);
		
		for (int i = 0; i < A.length; i++) {
			answer += A[i] * B[B.length-1-i];
		}
		
		return answer;
	}
}