memoization
-
#Dynamic_programming #예시문제Data miner 2019. 9. 14. 17:01
변수 세 개를 받아서, 최대 수익을 구하는 함수 만들기 그 세 개의 변수란, 1) 판매 개수에 따른 매출에 대한 리스트. 즉, 리스트의 인덱스가 판매 개수이며 리스트의 실제값은 인덱스값만큼 판매하였을 때의 매출액에 해당한다. 2) 판매하고자 하는 제품의 개수 3) 특정 개수 별 최대 매출액이 저장되어 있는 딕셔너리 이 문제 또한 앞서 소개한 두 개의 전략처럼, Memoization과 Tabulation 각각의 전략으로 접근 가능하다. 먼저 #Memoization인 경우 다음과 같이 풀 수가 있다. def max_profit_cache(p_of_list, n, cache): #만약, 판매n의 개수가 0이거나 1인 경우에는 price_list에 있는 것을 #그대로 리턴하면 된다. 단, 이 값또한 cache에..