https://www.acmicpc.net/problem/1026
1026번: 보물
첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거
www.acmicpc.net
해석 및 팁
이 문제는 배열 a와 b의 곱인 s의 최솟값을 구하는 문제입니다. 문제에는 b를 재정렬하면 안 된다고 되어있지만 정렬하면 쉽게 풀립니다. a와 b를 정렬한 후에 최대와 최소를 곱해서 더해주면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
int[] b = new int[n];
int sum = 0;
for(int i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
for(int i = 0; i < n; i++) {
b[i] = sc.nextInt();
}
Arrays.sort(a);
Arrays.sort(b);
for(int i = 0; i < n; i++) {
sum += a[i] * b[n-i-1];
}
System.out.println(sum);
}
}
'백준' 카테고리의 다른 글
백준 1764 듣보잡(Java) (0) | 2023.01.25 |
---|---|
백준 10816 숫자 카드 2(Java) (0) | 2023.01.25 |
백준 10866 덱(Java) (0) | 2023.01.25 |
백준 2164 카드2(Java) (0) | 2023.01.25 |
백준 10845 큐(Java) (0) | 2023.01.25 |