mun dev

[백준] 1026 보물 자바 본문

알고리즘/백준

[백준] 1026 보물 자바

mndev 2023. 4. 16. 20:40

문제설명

옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자.

S = A[0] × B[0] + ... + A[N-1] × B[N-1]

S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다.

S의 최솟값을 출력하는 프로그램을 작성하시오.

 

 

 

✅ 통과한 코드 

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int aArr[]=new int[n];
        int bArr[]=new int[n];

        for(int i=0; i<n; i++){
            aArr[i]=sc.nextInt();
        }

        for(int i=0; i<n; i++){
            bArr[i]=sc.nextInt();
        }

        Arrays.sort(aArr);
        Arrays.sort(bArr);
        int sum=0;
        int last=bArr.length-1;
        for(int i=0; i<n; i++){
            sum+=aArr[i]*bArr[last];
            last--;
        }

        System.out.println(sum);
    }
}

 

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 2745 진법 변환 자바(Java)  (0) 2023.04.18
[백준] 11501 주식 자바  (0) 2023.04.17
[백준] 11399 ATM 자바  (0) 2023.04.15
[백준] 2164 카드2 자바  (0) 2023.04.14
[백준] 2003 수들의 합2 자바  (0) 2023.04.11