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