날마다 주식의 가격을 prices 배열로 주고, 주식을 사고팔아서 얻을 수 있는 최대 이익을 구하는 문제다. python을 사용해서 3번의 시도 끝에 풀었으며, 접근 방법과 솔루션에 대해 소개한다. 연관 문제로 Best Time to Buy and Sell Stock 1~3 등이 있다. 다양한 접근방법으로 풀어볼 수 있어서 흥미로웠던 문제이다. 122. Best Time to Buy and Sell Stock II 문제 링크 Solution 바로가기 First Approach (5분) 문제 이해 문제를 명확히 하기 위한 과정(Q&A) 생각나는 알고리즘/자료구조 주식을 사고파는데, 최대 1주만 보유할 수 있다. price가 최소일 때 사야 할 것 같다는 생각이 들었다. 최소에서 팔 수 있을 때까지 날마다 diff profit을 저장해놓으면? DP를 적용해도 될 것 같은데 DP를 정확히 모르겠다. 합이 더 크면 더 큰 노드로 옮겨가고, 작아질 때 멈추고 하면 될 것 같은데, 각 node 들의 차이를 합해 나가는 방법으로도 가능할 것 같다. First Solution(brute force) class Solution: def calculate(self, prices: List[int], start: int) -> int: max_profit = 0 max = 0 if start < len(prices): for s in range(start, len(prices)): for e in range(start+1, len(prices)): if prices[e] - prices...