728x90
반응형
문제출처: https://school.programmers.co.kr/learn/courses/30/lessons/12941
풀이 :
def solution(A,B):
res = 0
for x, y in zip(A.sort(),B.sort(reverse=True)):
res += x * y
return res
print(solution([1, 4, 2],[4, 5, 4]))
리스트에서 가장 작은수랑 가장큰수랑 곱셈해서 더하는게 가장 최솟값이다.
정답을 맞추고 나서 컴프리핸션을 해 보았다.
return sum([x*y for x, y in zip(sorted(A), sorted(B, reverse=True))])
여기서는 A.sort() 가 되지 않는다.
이유:
sort() 메소드는 아무것도 리턴시켜 주지 않지만
sorted() 메소드는 새로운 리스트를 리턴시켜준다.
반응형
댓글