본문 바로가기
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();
    }
}

댓글