문제에서 B를 정렬하지 말라는 말이 없었다면,
A는 오름차순으로 B는 내림차순으로 정렬 후 같은 인덱스끼리 곱했다면 정답이었겠지만,
조건이 있었기 때문에,
B의 맥스값을 뽑아내는 방법을 사용했다.
풀이 후 다른 사람들의 풀이도 비교해보고 싶었는데, 전부 이 알고리즘에서 파생된 방법을 채택했는것을 알 수 있었다.
# 1026 보물 실4
n = int(input())
arr_a = list(map(int,input().split()))
arr_b = list(map(int,input().split()))
arr_a.sort()
sum_v = 0
i = 0
while arr_b:
sum_v += max(arr_b) * arr_a[i]
arr_b.remove(max(arr_b))
i += 1
print(sum_v)
'알고리즘 문제풀이' 카테고리의 다른 글
백준 1316 그룹 단어 체커 Python 정렬 문자열 실버5 (0) | 2024.03.19 |
---|---|
백준 1049 기타줄 Python 수학 그리디 실버4 (0) | 2024.03.18 |
백준 1476 날짜계산 Python 수학 브루트포스실버5 (1) | 2024.03.17 |
백준 10814 나이순정렬 Python 정렬 실버5 (0) | 2024.03.17 |
백준 9613 GCD 합 Python 유클리드 호제법 실버4 (2) | 2024.03.16 |