성장일기
[python] 백준 1026 - 보물 본문
S = A[0] × B[0] + ... + A[N-1] × B[N-1]
라고 할 때, S의 값을 가장 작게 만들기 위해 수를 재배열
S의 최솟값을 출력
첫째줄에 N
둘째 줄에 A에 들어있는 N개의 숫자
셋째 줄에 B에 들어있는 N개의 숫자
🎇a의 최솟값과 b의 최댓값을 곱한 후 리스트에서 삭제하는 방식으로 해결
🧨문제에 B는 재배열하면 안된다고 적혀있는데
재배열해도 풀린다.
재배열 안하고 푸는 법을 고민해보기
import sys
input=sys.stdin.readline
n=int(input().rstrip())
a=list(map(int,input().split()))
b=list(map(int,input().split()))
sum_ab=0
for i in range(n):
sum_ab+=min(a)*max(b) #a의 최솟값과 b의 최댓값 곱하기
a.pop(a.index(min(a)))
b.pop(b.index(max(b)))
print(sum_ab)
'알고리즘 문제' 카테고리의 다른 글
[python] 백준 1037 - 약수 (0) | 2022.01.07 |
---|---|
[python] 백준 10610 - 30 (0) | 2022.01.07 |
[python] 백준 2164 - 카드 2 (0) | 2022.01.05 |
[python] 백준 7785 - 회사에 있는 사람 (0) | 2022.01.01 |
[python] 백준 1735 - 분수 합 (0) | 2021.12.31 |