Coding - Algo/Java
[백준] 1026번:보물(Java 자바)
jainn
2021. 12. 2. 23:34
728x90
문제
https://www.acmicpc.net/problem/1026
1026번: 보물
첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거
www.acmicpc.net
풀이 및 소스코드
문제에서는 a의 배열만 재배열하라고 나와있지만
실제로는 a배열 b배열 둘 다 sort 한 뒤 역순으로 곱해서 더해주면 답이 나온다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
int[] a_arr = new int[n];
int[] b_arr = new int[n];
st = new StringTokenizer(br.readLine());
for(int i=0;i<n;i++) {
a_arr[i] = Integer.parseInt(st.nextToken());
}
st = new StringTokenizer(br.readLine());
for(int i=0;i<n;i++) {
b_arr[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(a_arr);
Arrays.sort(b_arr);
int res = 0;
for(int i=0;i<n;i++) {
res += (a_arr[i]*b_arr[n-i-1]);
}
System.out.println(res);
}
}
반응형