처음에는 완전탐색으로 구현했는데, 타임오버가 발생했다.
찾아보니 이것은 그리디 알고리즘을 사용하면 됐다.
static int maxProfit(int[] prices) {
int sum = 0;
for(int i = 0; i < prices.length - 1; i ++) {
if(prices[i] < prices[i+1])
sum += prices[i+1]-prices[i];
}
return sum;
}
탐욕(greedy) 알고리즘이란?
각각의 단계에서 최적의 수를 찾아내는 알고리즘
즉, 여기서는 i보다 큰 i+1을 만났을 때, i에서 사고 i+1에서 팔면 된다.