[BOJ] 보물(python)

.·2022년 6월 7일
0

문제 링크 - https://www.acmicpc.net/problem/1026


사고 과정

  • A에서 가장 작은 값과 B에서 가장 큰 값을 곱해주면 S의 값을 가장 작게 만들 수 있다.
  • 무한 루프문 안에서 A에서 최솟값을 찾고 B에서 최댓값을 찾아 서로 곱해서 answer에 더해준 뒤 A와 B에서 각각의 값들을 제거해줬다.
  • 만약 A에 아무런 값도 남아있지 않다면 반복문 탈출

나의 풀이

n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))

answer = 0
while True:
    high = max(b)
    low = min(a)
    answer += high * low
    del a[a.index(min(a))]
    del b[b.index(max(b))]

    if not a:
        break
print(answer)

0개의 댓글