#유형 : 수학

#난이도 : LV2

# 각각의 배열에서 가장 큰값 * 가장 작은값들의 곱으로 이루어지면 된다고 생각하여, 배열 정렬 후 가장 짧은 배열의 길이 기준으로 값을 구해주었음. 다른 방법이 있을 듯 하나, 다 비슷하게 푼 것 같다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.*;
class Solution
{
    public int solution(int []A, int []B)
    {
        int answer = 0;
        Arrays.sort(A);
        Arrays.sort(B);
        
        int min = Math.min(A.length, B.length);
        for(int i=0; i<min; i++){
            answer += A[i] * B[B.length-i-1];
        }
        return answer;
    }
}
cs

+ Recent posts