level2_최솟값 만들기
2024. 2. 19. 13:46ㆍ파이썬_알고리즘(코딩테스트)/level2


내가 제출한 코드
def solution(A,B):
answer = 0
A.sort() # 오름차순
B.sort(reverse = True) # 내림차순
for i in range(len(A)):
answer += A[i]* B[i]
return answer
A의 가장 작은 값과 B의 가장 큰 값을 곱하는 방식은, 큰 값과 작은 값이 만나 최소한의 곱을 생성하기 때문에 전체 합을 최소화하는 방법이다.
다른 사람이 제출한 코드
def getMineSum(A, B):
return sum([a * b for a, b in zip(sorted(A),sorted(B, reverse = True))])
다른 분 코드를 보니 zip함수를 써서 한줄로 짠 코드였다.
한 줄로.. 나도 ㅜㅜ 진짜 해보자.. 도전해보자..하는데 정말 막상 코드를 칠려고 하면 한 줄로 치기가 쉽지가 않은거 같다...
그래도 조금 나아진 점은 이런 코드를 접했을 때 해석이 된다는 것이다.
조금 발전했다 나자신! ...
'파이썬_알고리즘(코딩테스트) > level2' 카테고리의 다른 글
| level2_다음 큰 숫자 (0) | 2024.02.27 |
|---|---|
| level2_숫자의 표현 (0) | 2024.02.25 |
| level2_이진 변환 반복하기 (0) | 2024.02.22 |
| level2_올바른 괄호(스택/큐) (0) | 2024.02.21 |
| level2_최댓값과 최솟값 (0) | 2024.02.05 |