[백준] 1026 : 보물 - Python

Chooooo·2022년 9월 30일
0

알고리즘/백준

목록 보기
15/182


그리디 알고리즘

문제 해결

B데이터는 정렬 금지니까 A데이터를 정렬하여 최솟값 찾으면 된다.
정렬만 하지 않으면 되니까 A데이터는 정렬을 해주어서 데이터를 뽑고 B데이터는 pop()을 이용해서 최댓값부터 뽑아내면 된다.

생각

데이터를 pop할 때 이렇게 표현하는 것도 익숙해지자.

소스코드

import sys


N = int(input())
dataA = list(map(int, input().split()))
dataB = list(map(int, input().split()))

dataA.sort()
res = 0
for i in range(N):
    max_A = dataA[i]
    min_B = dataB.pop(dataB.index(max(dataB)))
    res += max_A * min_B

print(res)

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글