[프로그래머스] 최솟값 만들기(Python)

vvo_ter·2022년 9월 19일
0

프로그래머스

목록 보기
1/28
post-thumbnail

💻 문제 - Lv.2


👉 제출 코드

가장 큰 값과 가장 작은 값을 곱했을 때 최솟값이 될 것이다.

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

    return answer

sorted 함수를 이용해 A를 오름차순, B는 내림차순으로 정렬한다.
배열의 길이만큼 같은 인덱스끼리 곱하여 더한다.

sort()와 sorted()

  • [list].sort()는 새로운 복사본을 만들지 않기 때문에 sorted([list]) 함수보다 빠르다.
  • sort()는 리스트만을 위한 메소드이고, sorted()는 어떤 이터러블 개체도 받을 수 있다.

🙏 다른 사람의 풀이 보기

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

zip 함수를 사용하여 한줄 풀이가 가능하다.

profile
's Coding Memory

0개의 댓글