본문 바로가기
💻 하나씩 차곡차곡/백준알고리즘 (Python,Java)

백준 1026번 파이썬

by 뚜루리 2024. 12. 10.
728x90
320x100

 

구현

N = int(input())
arr1 = list(map(int, input().split()))
arr2 = list(map(int, input().split()))

arr1.sort()
arr2.sort(reverse=True)

answer = 0
for i in range(N):
	answer += arr1[i] * arr2[i]

print(answer)
  • 그리디 알고리즘을 활용
  • 하나는 오름차순 정렬, 나머지 하나는 내림차순 정렬을 하여 서로 곱하여 모두 더해주는 방식으로 품.

 

 


 

(+) 풀이

arr2.sort(reverse=True)
arr2 = sorted(arr2)[::-1]

위 두개의 정렬 방법은 동일하다.

 

for i in range(N):
	answer += arr1[i] * arr2[i]
for a, b in zip(arr1, arr2):
    answer += a * b

위 두개의 For문도 동일하다. zip 함수를 쓰면 같은 인덱스끼리 묶어준다.

728x90
320x100

'💻 하나씩 차곡차곡 > 백준알고리즘 (Python,Java)' 카테고리의 다른 글

백준 2503번 야구게임 파이썬  (0) 2024.12.12
백준 1461번 파이썬  (0) 2024.12.11
백준 5585번 파이썬  (0) 2024.12.06
백준 1182번 파이썬  (0) 2024.11.14
백준 23246번 파이썬  (0) 2024.10.15

뚜루리님의
글이 좋았다면 응원을 보내주세요!