본문 바로가기
공부/BOJ

[BOJ/Python] 1026번 보물

by sshnnne 2022. 6. 30.

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