https://www.acmicpc.net/problem/1026
풀이
A의 정렬을 내림차순으로 만들어준 뒤 A의 앞부터 끝까지 B의 최댓값과 곱해주는 방법을 이용한다. B의 최댓값은 한번 뽑으면 pop을 통해 지워준다.
# 1026번 보물
import sys
input = sys.stdin.readline
n = int(input())
a_li = list(map(int, input().split()))
b_li = list(map(int, input().split()))
a_li.sort()
ans = 0
for i in range(n):
ans += (a_li[i] * b_li.pop(b_li.index(max(b_li))))
print(ans)
출력결과
'백준 > 그리디' 카테고리의 다른 글
[백준] 1978번 소수 찾기 - 파이썬 (0) | 2022.02.20 |
---|---|
[백준] 1676번 팩토리얼 0의 개수 - 파이썬 (0) | 2022.02.19 |
[백준][Python] 2506번 점수계산 - 코팩 (0) | 2022.02.11 |
[백준] 13458번 시험감독 - 파이썬 (0) | 2022.02.11 |
[백준] 2869번 최대공약수와 최소공배수 - 파이썬 (0) | 2022.02.05 |