I about me

[Python] L2 - 최솟값 만들기 본문

Algorithm/프로그래머스

[Python] L2 - 최솟값 만들기

ssungni 2024. 3. 14. 17:49

문제 분석 및 정답 도출

1) 어떻게 해야 최솟값이 나올까?

가장 큰 수 * 가장 큰 수 = 너무 커짐.

가장 작은 수 * 가장 작은 수 = 작음. → 너무 작으면 나중에 어차피 가장 큰 수 * 가장 큰 수 될 수 있음.

그러므로, 한 리스트는 작은 숫자부터 가고, 한 리스트는 가장 큰 수부터 가게끔 해야됨.

 

2) 개념을 알아야된다!

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

3) 그래서? solution은?

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

더 나아가기

sort()와 sorted의 차이

1) sort()

arr = [3, 1, 2]
arr.sort()
print(arr)  # 출력: [1, 2, 3]

 

2) sorted()

arr = [3, 1, 2]
sorted_arr = sorted(arr)
print(sorted_arr)  # 출력: [1, 2, 3]
print(arr)         # 출력: [3, 1, 2] (원본 리스트는 변경되지 않음)

 

'Algorithm > 프로그래머스' 카테고리의 다른 글

[Python] 인덱스 바꾸기  (0) 2024.03.31
[Python] L2 - 올바른 괄호  (0) 2024.03.14
[Python] L2 - JadenCase 문자열 만들기  (0) 2024.03.14
[Python] 하샤드 수 오답정리  (0) 2024.03.07
[Python] [1차] 캐시  (1) 2024.03.05