백준 1026 파이썬

정재혁·2022년 10월 16일
0

백준 1026번 보물 문제

문제



입력 및 출력값


풀이:

해당 문제는 두 배열이 존재할 때 두 배열의 곱이 가장 작아지는 값을 도출하는 문제로 쉬운 난이도에 속하는 문제다.
다만 문제를 풀 때 lambda함수를 사용하여 코드를 간단히 하기 위해 노력했다.

list(map(lambda x,y : x*y, A,B))형식으로 코드를 구현해 for문을 사용하지 않고 깔끔하게 작성했다.

우선 A는 오름 차순 정렬. B는 내림차순 정려하면 각 인덱스에는 가장 작은값과 가장 큰값이 매칭 될 수 있도록 설정 후 위의 람다 함수를 활용해 각 배열의 곱을 S 배열에 저장 후 이를 sum 하는 방식으로 코드를 구현했다.

람다 함수에 대한 지속적인 이해가 필요하다.

코드:

n = int(input())
A = list(map(int,input().split()))
B = list(map(int,input().split()))

A.sort()
B.sort(reverse=True)

S = list(map(lambda x,y: x*y,A,B))

print(sum(S))
profile
저는 정재혁임니다^___^

0개의 댓글