그리드 알고리즘(탐욕 알고리즘)은 문제 해결 방식 중 하나로, 매 순간 가장 좋아 보이는 선택을 하는 방법입니다. 이 방법의 핵심은 두 가지 주요 특성에 기반합니다.
이 문제는 날짜별 주가가 주어졌을 때, 최대 이익을 계산하는 문제입니다. 이 문제를 풀기 위해 다음과 같은 탐욕적 접근 방식을 사용했습니다:
아래는 파이썬으로 구현한 코드입니다
def calculate_max_profit_boj(prices):
max_profit = 0 # 최대 이익 초기화
max_future_price = 0 # 미래의 최대 주가 초기화
# 뒤에서부터 주가를 검사합니다.
for price in reversed(prices):
if price > max_future_price:
max_future_price = price # 새로운 최대 주가 업데이트
max_profit += max_future_price - price # 이익 계산 및 추가
return max_profit
# 테스트 케이스 예시
test_cases_boj = [
[10, 7, 6],
[3, 5, 9],
[1, 1, 3, 1, 2]
]
# 각 테스트 케이스에 대한 최대 이익 계산
results_boj = [calculate_max_profit_boj(prices) for prices in test_cases_boj]