본문 바로가기
문제 풀이/백준(BOJ)

[Python] 백준 1026번 : 보물

by 희조당 2022. 6. 18.
728x90

https://www.acmicpc.net/problem/1026

 

1026번: 보물

첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거

www.acmicpc.net


 문제 풀이

간단한 그리디 알고리즘이었다.

두 번째 배열은 재배열하지 말라고 했지만

문제에서 요구하는 것은 단순히 더한 최솟값!

따라서 하나는 내림차순 하나는 올림차순으로 정렬해 곱한 값을 더해준 것이 최솟값이다.

 느낀 점

정렬 문제 풀어보려고 했다가 빠르게 풀었다!

 코드

num = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
sum = 0

a.sort()
b.sort(reverse=True)

for i in range(num):
    sum = sum + a[i] * b[i]
    
print(sum)

'문제 풀이 > 백준(BOJ)' 카테고리의 다른 글

[Python] 백준 2108번 : 통계학  (0) 2022.06.21
[Python] 백준 14501번 : 퇴사  (0) 2022.06.21
[C++] 백준 4358번 : 생태학  (0) 2022.01.20
[C++] 백준 11286번 : 절댓값 힙  (0) 2022.01.18
[C++] 백준 1080번 : 행렬  (0) 2022.01.17

댓글