티스토리 뷰

PS/Python

[Python] 백준 1026번: 보물

yoo.o 2020. 10. 13. 19:58
반응형

문제

 

1026번: 보물

첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거�

www.acmicpc.net

풀이

Ai * Bi의 값의 합이 최소가 되는 값을 출력하면 되는 문제다

문제 이해를 위해 A를 재배열할 수 있으나 B는 재배열하지 못한다고 써있지만 

그냥 둘다 소팅해서 작은애랑 큰애를 곱해주면 된다. 

A: 오름차순 정렬, B: 내림차순 정렬 후 A[i]*B[i]를 다 더해주기

import sys

N = int(sys.stdin.readline())

A = list(map(int, sys.stdin.readline().split(" ")))
B = list(map(int, sys.stdin.readline().split(" ")))

A.sort()
B.sort(reverse=True)

result = 0
for i in range(N):
    result += A[i] * B[i]

print(result)

반응형