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)
'알고리즘 > 백준' 카테고리의 다른 글
BOJ : 11866. 요세푸스 문제 0 (python) (0) | 2021.12.11 |
---|---|
BOJ : 4889. 안정적인 문자열 (python) (0) | 2021.12.11 |
BOJ : 10799. 쇠막대기 (python) (0) | 2021.12.10 |
BOJ : 1246. 온라인 판매 (python) (0) | 2021.12.08 |