https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii
결과 : 성공
풀이시간 : 18분
아이디어를 떠올리는데 약간 시간이 걸렸습니다.
마지막 날짜에서 하루 전날부터 살펴봅니다.
만약, 오늘 주식이 내일보다 저렴하면 구매했다가 파는 게 이득입니다.
오늘 주식이 내일보다 비싸면(혹은 같으면) 이득을 볼 수 없어 구매하지 않습니다.
코드가 단순해서 수도코드는 작성하지 않았습니다.
class Solution {
public int maxProfit(int[] prices) {
int tomorrow = prices[prices.length - 1];
int total = 0;
for(int i= prices.length - 2; i>=0 ; i--) {
// 내일보다 오늘이 더 싸면 판매
if (tomorrow > prices[i]) {
total += (tomorrow - prices[i]);
}
// 날짜 갱신
tomorrow = prices[i];
}
return total;
}
}