본문 바로가기
Online-Judge/Programmers

[Programmers] Python 최솟값 만들기

by nyangzzi 2022. 6. 11.
반응형

https://programmers.co.kr/learn/courses/30/lessons/12941?language=python3 

 

코딩테스트 연습 - 최솟값 만들기

길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱

programmers.co.kr

 


 

 

def solution(A,B):
    
    A = sorted(A)
    B = sorted(B, reverse=True)
    
    answer = 0
    for i in range(len(A)):
        answer += A[i] * B[i]
    
    return answer

 


 

 

+)

개수가 동일한 자료형을 묶어줄 수 있는 zip 함수와 요소를 모두 더할 수 있는 sum 함수를 사용하면 더욱 간단하게 풀 수 있다.

알고리즘은 위와 동일하다.

 

def solution(A,B):
    return sum(a*b for a, b in zip(sorted(A), sorted(B, reverse = True)))

 

이 코드에서는 zip을 for문으로 돌았기 때문에 괜찮지만 zip 함수를 단독으로 사용할 경우 리턴값이 zip형식이므로 반드시 원래 자료형으로 바꿔서 사용하도록 주의한다.

반응형

댓글