[ 답안 ]
import java.util.Arrays;
class Solution{
public int solution(int []A, int []B){
int answer = 0;
// 배열 오름차순 정렬
Arrays.sort(A);
Arrays.sort(B);
// B배열을 B1배열에 역순으로 넣어 내림차순으로 정렬
int[] B1 = new int[A.length];
for(int i =0; i < B.length;i++) {
B1[i] = B[(B.length-1)-i];
}
// 오름차순으로 정렬된A배열과 내림차순으로 정렬된B배열의
// 같은 인덱스값을 곱해서 answer에 순차적으로 더해줌
for(int i =0; i < B.length;i++) {
answer += A[i]*B1[i];
}
return answer;
}
}
내림차순으로 정렬할 필요가 없다는것을 깨닫게됨
class Solution{
public int solution(int []A, int []B){
int answer = 0;
Arrays.sort(A);
Arrays.sort(B);
for(int i =0; i < B.length;i++) {
answer += A[i]*B[(B.length-1)-i];
}
System.out.println(answer);
return answer;
}
}