본문 바로가기
Algorithm

백준알고리즘 1026번 보물

by jayden-lee 2019. 7. 31.
728x90

1026번 보물 문제는 정렬 문제입니다. 주어진 A와 B 배열의 각 요소를 곱한 다음 최소 합을 구해야 합니다.

소스 코드

import java.util.*;
/**
 * 보물 문제<br>
 * 알고리즘 분류 : 정렬
 *
 * @author jayden-lee
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();
        List<Integer> a = new ArrayList<>();
        List<Integer> b = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            a.add(scanner.nextInt());
        }
        for (int i = 0; i < N; i++) {
            b.add(scanner.nextInt());
        }
        Collections.sort(a);
        Collections.sort(b, Collections.reverseOrder());
        int result = 0;
        for (int i = 0; i < N; i++) {
            result += a.get(i) * b.get(i);
        }
        System.out.println(result);
        scanner.close();
    }
}

댓글