https://www.acmicpc.net/problem/1026
1026번: 보물
첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거
www.acmicpc.net
n = int(input())
a = list(map(int,input().split()))
b = list(map(int,input().split()))
#a에 가장 큰 수와 b에 가장 작은 수를 곱하면 최소?
#a를 크기순으로 정렬 -> sorted
#근데 b는 재배열 불가... -> stack처럼?
s_a = sorted(a, reverse=True)
#a의 가장 큰 수와 b의 가장 작은 수를 곱해서 저장하는 리스트
lst = []
for i in range(n):
low = s_a[i] * min(b)
lst.append(low)
b.remove(min(b))
#b를 크기순으로 정렬
s_b = sorted(lst, reverse=True)
print(sum(lst))

b를 재배열 하면 안 된다고 해서 stack처럼 쓸까? 했는데
그냥 값을 지워버려도 되는거였다
'공부 > BOJ' 카테고리의 다른 글
[BOJ/Python] 백준 17608번 막대기 (0) | 2022.06.30 |
---|---|
[BOJ/Python] 10773번 제로 (0) | 2022.06.30 |
[BOJ/Python] 11653번 소인수분해 (0) | 2022.06.30 |
[BOJ/Python] 1543번 문서 검색 (0) | 2022.06.30 |
[BOJ/Python] 5568번 카드 놓기 (0) | 2022.06.30 |