[#1026] 보물
문제
#1026 보물
Silver4
적용 알고리즘: 정렬 알고리즘
풀이 방법
- 각 배열을 각각 오름차순, 내림차순으로 정렬한다.
- 가장 큰 수는 가장 작은 수와 곱하고, 가장 작은 수는 가장 큰 수와 곱한다.
코드 흐름
- a 배열은 내림차순, b 배열은 오름차순으로 정렬한다.
- 동일한 인덱스끼리 곱하고, 합을 구한다.
코드
n = int(input())
a = [int(m) for m in input().split()]
b = [int(m) for m in input().split()]
a.sort(reverse=True)
b.sort()
sum = 0
for i in range(n):
sum += a[i] * b[i]
print(sum)
체감 난이도: 1/5
문제에서 b 배열은 재배열하지 말라는 페이크가 있었는데 오직 값을 구하는 문제이니 무시해도 된다. 지금보니 실버2 문제를 한다는게 실버4를 풀었구나.. 티어 숫자가 헷갈린다… 어쩐지 쉽더라..
[파이썬 구문]
합을 구하는 문제도 간단하게 한 줄로 작성할 수 있다.
print(sum([a[i] * b[i] for i in range(n)]))