[코드잇][알고리즘의 정석]토픽 3: Brute Force-03. 카드 뭉치 최대 조합
링크: https://www.codeit.kr/learn/courses/algorithms/1137
문제
영상에서 보았던 문제를 코드로 풀어봅시다!
카드 두 뭉치가 있습니다.
왼쪽 뭉치에서 카드를 하나 뽑고 오른쪽 뭉치에서 카드를 하나 뽑아서, 두 수의 곱이 가장 크게 만들고 싶은데요. 어떻게 하면 가장 큰 곱을 구할 수 있을까요?
함수 max_product는 리스트 left_cards와 리스트 right_cards를 파라미터로 받습니다.
left_cards는 왼쪽 카드 뭉치의 숫자들, right_cards는 오른쪽 카드 뭉치 숫자들이 담겨 있고, max_product는 left_cards에서 카드 하나와 right_cards에서 카드 하나를 뽑아서 곱했을 때 그 값이 최대가 되는 값을 리턴합니다.
def max_product(left_cards, right_cards):
# 코드를 작성하세요.
# 테스트
print(max_product([1, 6, 5], [4, 2, 3]))
print(max_product([1, -9, 3, 4], [2, 8, 3, 1]))
print(max_product([-1, -7, 3], [-4, 3, 6]))
24
32
28
제출한 답
def max_product(left_cards, right_cards):
# 코드를 작성하세요.
result = 0
for l in left_cards:
for r in right_cards:
if l*r > result:
result = l*r
return result
# 테스트
print(max_product([1, 6, 5], [4, 2, 3]))
print(max_product([1, -9, 3, 4], [2, 8, 3, 1]))
print(max_product([-1, -7, 3], [-4, 3, 6]))
'코드잇 > 알고리즘의 정석' 카테고리의 다른 글
[코드잇][알고리즘의 정석]토픽 3: Brute Force-06. 강남역 폭우 (0) | 2021.08.26 |
---|---|
[코드잇][알고리즘의 정석]토픽 3: Brute Force-05. 가까운 매장 찾기 (0) | 2021.08.26 |
[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-06. 하노이의 탑 (0) | 2021.08.26 |
[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-05. 이진 탐색 재귀로 구현해보기 (0) | 2021.08.26 |
[코드잇][알고리즘의 정석]토픽 2: 재귀 함수 연습-04. 리스트 뒤집기 (0) | 2021.08.26 |