728x90
N = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
S = 0
A.sort()
B.sort(reverse = True)
for i in range(N):
S += A[i] * B[i]
print(S)
꽤나 간단했던 이번 문제
A와 B의 배열을 재정렬해서 그 곱과 합을 최소로 하는 문제였다.
그나마 애를 먹었던 것을 여러 값을 한번에 넣을때
A = list(map(int, input().split())) 이런식으로 해야한다는 것과
오름차순, 내림차순 정렬을 각각
A.sort()
B.sort(reverse = True) 이런식으로 해야한다는 것을 기억하자.
728x90
'알고리즘 공부(C++)' 카테고리의 다른 글
9012 괄호 (0) | 2022.08.16 |
---|---|
17478 재귀함수가 뭔가요? (0) | 2022.08.14 |
1476 날짜 계산 (0) | 2022.08.12 |
1436 영화감독 숌 (0) | 2022.08.11 |
1966 프린터 큐 (0) | 2022.08.10 |