반응형
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형식이므로 반드시 원래 자료형으로 바꿔서 사용하도록 주의한다.
반응형
'Online-Judge > Programmers' 카테고리의 다른 글
[Programmers] Python 완주하지 못한 선수 (0) | 2022.06.14 |
---|---|
[Programmers] Python JadenCase 문자열 만들기 (0) | 2022.06.14 |
[Programmers] Python 3진법 뒤집기 (0) | 2022.06.11 |
[Programmers] Python 기능개발 (0) | 2022.06.10 |
[Programmers] Python 두 개 뽑아서 더하기 (0) | 2022.06.08 |
댓글