문제 링크
풀이
import sys
n = int(sys.stdin.readline())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
a.sort()
b.sort(reverse=True)
s = 0
for i in range(n): s += a[i] * b[i]
print(s)
S가 최솟값을 가지려면 a를 오름차순, b를 내림차순 정렬한 후에 같은 인덱스의 값을 곱하게 하면 된다.
'연습장 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 10820] 문자열 분석 with Node.js (0) | 2021.04.03 |
---|---|
[백준 2309] 일곱 난쟁이 with Node.js (0) | 2021.04.03 |
[백준 1076] 저항 with Node.js (0) | 2021.04.03 |
[백준 1100] 하얀 칸 with Node.js (0) | 2021.04.02 |
[백준 13458] 시험 감독 with Node.js (0) | 2021.04.02 |