1026(그리디)-python

지환·2023년 9월 28일
0

백준(python)

목록 보기
46/67
post-thumbnail

출처 | https://www.acmicpc.net/problem/1026

코드

n = int(input())

a_list = list(map(int, input().split()))
b_list = list(map(int, input().split()))

s = 0
for i in range(n):
    s += min(a_list) * max(b_list)
    a_list.pop(a_list.index(min(a_list)))
    b_list.pop(b_list.index(max(b_list)))

print(s)

A배열의 최소값과 B배열의 최대값을 곱해서 s에 더해준다.

그리고 pop함수를 이용해서 A배열의 최소값과 B배열의 최대값을 배열에서 빼주는 걸 반복한다.

이 방식을 이용하면 B배열을 재배열하지 않아도 s의 최소값을 구할 수 있다.

profile
아는만큼보인다.

0개의 댓글