반응형
풀이
a는 오름차 순으로, b는 내림차순으로 정렬한뒤 a * b를 한값을 더하면된다.
자바
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));
int n = Integer.parseInt(br.readLine());
int[] a = new int[n];
int[] b = new int[n];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
a[i] = Integer.parseInt(st.nextToken());
}
st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
b[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(a);
Arrays.sort(b);
int sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i] * b[n-i-1];
}
System.out.print(sum);
}
}
파이썬
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
a.sort()
b.sort()
b.reverse()
sum = 0
for i in range(n):
sum += a[i] * b[i]
print(sum)
'백준' 카테고리의 다른 글
2920번: 음계 (0) | 2022.02.17 |
---|---|
1439번: 뒤집기 (0) | 2022.02.16 |
1789번: 수들의 합 (0) | 2022.02.16 |
13305번: 주유소 (0) | 2022.02.15 |
14659번: 한조서열정리하고옴ㅋㅋ (0) | 2022.02.15 |