IT 기획의 길
백준 1026번 보물 [JAVA] 본문
알고리즘 설계
1. A배열을 오름차순해서 정렬하고
2. B배열을 내림차순으로 정렬해서
3. A배열의 가장 큰값과 B배열의 가장 작은값을 곱하고 A배열의 그 다음 큰값과 B배열의 그 다음 작은값을 곱하는식으로 계산을하면 S는 최솟값이 된다
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int N=scan.nextInt();
int sum=0;
ArrayList<Integer> A=new ArrayList<>();
ArrayList<Integer> B=new ArrayList<>();
for(int i=0;i<N;i++) {
int a=scan.nextInt();
A.add(a);
}
for(int i=0;i<N;i++) {
int b=scan.nextInt();
B.add(b);
}
Collections.sort(A);
Collections.sort(B,Comparator.reverseOrder());
for(int i=0;i<N;i++)
sum+=A.get(i)*B.get(i);
System.out.println(sum);
}
}
'알고리즘(백준) > 정렬' 카테고리의 다른 글
백준 10814번 나이순 정렬 [JAVA] (0) | 2020.12.26 |
---|---|
백준 11650번 좌표 정렬하기 [JAVA] (0) | 2020.12.26 |
백준 1181번 단어정렬 [JAVA] (0) | 2020.12.26 |
백준 11399번 ATM [JAVA] (0) | 2020.12.25 |