티스토리 뷰
728x90
반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/12941?language=python3
코드
def solution(A,B):
answer = 0
A.sort()
B.sort(reverse=True)
for i,j in zip(A,B):
answer += i * j
return answer
A와 B에서 한개씩 뽑아 곱해준수를 더해 최솟값을 만들려면 A의 가장 작은수와 B의 가장 큰수를 차례로 곱해주면 된다.
그래서 A오름차순 정렬을하고 B는 내림차순 정렬을 해줘서 곱해준다.
zip을 사용하면 두개의 리스트를 한개의 for문으로 돌릴 수 있다.
B.sort(reverse=True)는 내림차순 정렬이고
B.reverse()는 그냥 리스트를 뒤집는다.
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level2, 올바른 괄호 (Python) (0) | 2021.06.08 |
---|---|
[프로그래머스] Level2, 땅따먹기 (Python) (0) | 2021.06.08 |
[프로그래머스] Level2, 숫자의 표현 (Python) (0) | 2021.06.08 |
[프로그래머스] Level2, 행렬의 곱셈 (Python) (0) | 2021.06.07 |
[프로그래머스] Level2, JadenCase 문자열 만들기 (Python) (0) | 2021.06.06 |
댓글