반응형
https://www.acmicpc.net/problem/1026
1026번: 보물
첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거
www.acmicpc.net
문제는 이와 같습니다. 두 정수 배열을 입력 받아 A[0] x B[0] + ....A[n-1] x B[n-1] 의 최소값을 구해야합니다.
입력이 이와 같을 때 18이 출력되어야 합니다.
5
1 1 1 6 0
2 7 8 3 1
가장 큰 수인 8은 가장 작은 수인 0과 곱해져야합니다.
이를 반복하면 하나의 배열은 내림차순, 하나는 오름차순으로 정렬해야합니다.
내림차순은 Arrays.sort(array)
오름차순은 Arrays.sort(array,Collections.reverseOrder()) 을 사용했습니다. 이 때 배열은 Integer형이어야합니다.
import java.io.*;
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String[] array1 = br.readLine().split(" ");
String[] array2 = br.readLine().split(" ");
int[] arr1 = new int[n];
Integer[] arr2 = new Integer[n];
int cnt = 0;
for(int i = 0 ; i < n; i++) {
arr1[i] = Integer.parseInt(array1[i]);
arr2[i] = Integer.parseInt(array2[i]);
}
Arrays.sort(arr1);
Arrays.sort(arr2,Collections.reverseOrder());
for(int i = 0; i < n; i++) {
cnt += arr1[i] * arr2[i];
}
System.out.println(cnt);
}
}
정답입니다.
반응형
'🔑알고리즘 > baekjoon' 카테고리의 다른 글
백준 2309 : 일곱 난쟁이 파이썬 정답 풀이 (combinations의 활용) (0) | 2022.08.03 |
---|---|
백준 2217 : 로프 - 자바 문제 풀이 (0) | 2022.05.21 |
백준 10845 : 큐 - 자바(java) 문제 풀이 (0) | 2022.05.10 |
백준 4948 : 베르트랑 공준 - 자바 문제 해결 코드 (0) | 2022.01.25 |
백준 1929 : 소수 구하기 - 자바 문제 풀이(시간 초과 해결) (0) | 2022.01.24 |