본문 바로가기
알고리즘/백준

BOJ : 1026. 보물 (python)

by newjp 2021. 12. 8.

BOJ 1026 문제 링크

 

1026번: 보물

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

www.acmicpc.net

풀이

A의 가장 큰 값 * B의 가장 작은 값을 찾아서 곱해 더해줌

B는 정렬할 수 없으므로 A를 내림차순(큰값)으로 정렬해주고 큰 값 부터 B의 가장 작은 값을 매칭해 나가기 시작. 매칭된 B의 수는 없애버림

코드

N = int(input())
A = sorted(list(map(int, input().split())), reverse=True)
B = list(map(int, input().split()))
res = 0

for i in range(N):
    res += A[i]*min(B)
    B.pop(B.index(min(B)))
print(res)