알고리즘 공부(C++)
1026 보물
혀니리리
2022. 8. 13. 17:56
728x90
1026번: 보물
첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거
www.acmicpc.net
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