728x90
https://www.acmicpc.net/problem/1026
문제 풀이
간단한 그리디 알고리즘이었다.
두 번째 배열은 재배열하지 말라고 했지만
문제에서 요구하는 것은 단순히 더한 최솟값!
따라서 하나는 내림차순 하나는 올림차순으로 정렬해 곱한 값을 더해준 것이 최솟값이다.
느낀 점
정렬 문제 풀어보려고 했다가 빠르게 풀었다!
코드
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 |
댓글